

# OPS 4. 如何在工作負載中實作可觀測性？
<a name="ops-04"></a>

在工作負載中實作可觀測性，以便了解其狀態，並根據業務需求做出資料驅動的決策。

**Topics**
+ [

# OPS04-BP01 識別關鍵績效指標
](ops_observability_identify_kpis.md)
+ [

# OPS04-BP02 實作應用程式遙測
](ops_observability_application_telemetry.md)
+ [

# OPS04-BP03 實作使用者體驗遙測
](ops_observability_customer_telemetry.md)
+ [

# OPS04-BP04 實作相依性遙測
](ops_observability_dependency_telemetry.md)
+ [

# OPS04-BP05 實作分散式追蹤
](ops_observability_dist_trace.md)

# OPS04-BP01 識別關鍵績效指標
<a name="ops_observability_identify_kpis"></a>

 想在工作負載中實作可觀測性，要先了解工作負載狀態，並根據業務需求做出資料驅動型決策。確保監控活動與業務目標保持一致的最有效方法之一，是透過定義和監控關鍵績效指標 （KPIs）。

 **預期成果：**有效率的可觀測性實務會與業務目標密切保持一致，確保監控工作始終能夠帶來實際的業務成果。

 **常見的反模式：**
+  未定義 KPIs：在沒有明確的情況下工作KPIs可能會導致監控太多或太少，遺失重要訊號。
+  靜態 KPIs：不會KPIs隨著工作負載或業務目標的發展而重新檢視或精簡。
+  未能保持一致：專注於與業務成果沒有直接關係的技術指標，或難與實際問題相關聯的技術指標。

 **建立此最佳實務的優勢：**
+  問題識別的易用性：企業KPIs通常會比技術指標更清晰地呈現問題。企業的下降KPI可以比篩選多個技術指標更有效找出問題。
+  業務一致性：確保監控活動可直接支援業務目標。
+  效率：優先監控資源並關注重要指標。
+  主動積極：找出並解決問題，不讓問題擴大影響業務。

 **未建立此最佳實務時的曝險等級：**高 

## 實作指引
<a name="implementation-guidance"></a>

 若要有效定義工作負載KPIs：

1.  **從業務成果開始著手：**在深入研究指標之前，請先了解預期業務成果。想要增加銷售量、提高使用者參與度，還是加快回應時間？ 

1.  **將技術指標與業務目標相關聯：**並非所有技術指標都會直接影響業務成果。識別這樣做的人，但使用 業務 識別問題通常更為簡單KPI。

1.  **使用 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)：**使用 CloudWatch 來定義和監控代表您 的指標KPIs。

1.  **定期檢閱和更新 KPIs：**隨著工作負載和業務的發展，請保持KPIs關聯。

1.  **讓利益相關者參與：**讓技術和業務團隊參與定義和檢閱 KPIs。

 **實作計劃的工作量：**中 

## 資源
<a name="resources"></a>

 **相關的最佳實務：**
+ [OPS04-BP02 實作應用程式遙測](ops_observability_application_telemetry.md)
+ [OPS04-BP03 實作使用者體驗遙測](ops_observability_customer_telemetry.md)
+ [OPS04-BP04 實作相依性遙測](ops_observability_dependency_telemetry.md)
+ [OPS04-BP05 實作分散式追蹤](ops_observability_dist_trace.md)

 **相關文件：**
+ [AWS 可觀測性最佳實務 ](https://aws-observability.github.io/observability-best-practices/)
+ [ CloudWatch 使用者指南 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)
+ [AWS 可觀測性技能建置器課程 ](https://explore.skillbuilder.aws/learn/course/external/view/elearning/14688/aws-observability)

 **相關影片：**
+ [研擬可觀測性策略](https://www.youtube.com/watch?v=Ub3ATriFapQ)

 **相關範例：**
+  [一個可觀測性研討會](https://catalog.workshops.aws/observability/en-US) 

# OPS04-BP02 實作應用程式遙測
<a name="ops_observability_application_telemetry"></a>

 應用程式遙測是工作負載可觀測性的基礎。發出遙測至關重要，它為您的應用程式狀態以及技術和業務成果的實現提供了可行洞見。從疑難排解到測量新功能的影響，或確保與業務金鑰效能指標 （KPIs） 保持一致，應用程式遙測會告知您建置、操作和發展工作負載的方式。

 指標、日誌和追蹤構成了可觀測性的三個主要支柱。其可作為描述應用程式狀態的診斷工具。隨著時間的推移，它們有助於建立基準並識別異常。不過，為了確保監控活動與業務目標之間的一致性，定義和監控 至關重要KPIs。與技術指標相比，企業KPIs通常更容易識別問題。

 其他遙測類型，例如真實使用者監控 （RUM） 和合成交易，可補充這些主要資料來源。RUM 提供即時使用者互動的洞見，而合成交易模擬潛在的使用者行為，有助於在實際使用者遇到瓶頸之前進行偵測。

 **預期成果：**獲得工作負載效能且可付諸行動的洞見。這些洞見可讓您做出有關效能最佳化的主動決策、提高工作負載穩定性、使 CI/CD 程序更順暢，並且有效利用資源。

 **常見的反模式：**
+  **不完整的可觀測性：**忽略在工作負載的每一層納入可觀測性，導致出現可能遮蔽重要系統效能和行為洞見的盲點。
+  **分散的資料檢視：**當資料分散在多個工具和系統中時，便難以提供涵蓋工作負載運作狀況和效能的全面概覽。
+  **使用者報告問題：**缺乏透過遙測和業務KPI監控主動偵測問題的跡象。

 **建立此最佳實務的優勢：**
+  **知情決策：**透過遙測和業務的洞察KPIs，您可以做出資料驅動的決策。
+  **改善運作效率：**資料驅動的資源利用率可帶來成本效益。
+  **提高工作負載穩定性：**更快偵測並解決問題，進而改善正常運作。
+  **更順暢的 CI/CD 程序：**從遙測資料獲得的洞見，有助於改進程序並交付可靠的程式碼。

 **未建立此最佳實務時的曝險等級：**高 

## 實作指引
<a name="implementation-guidance"></a>

 若要為工作負載實作應用程式遙測，請使用 AWS [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 和 等服務[AWS X-Ray](https://aws.amazon.com/xray/)。Amazon CloudWatch 提供全方位的監控工具套件，可讓您在內部部署環境中觀察資源 AWS 和應用程式。還會收集、追蹤和分析指標、合併和監控日誌資料，並且回應資源的變更，以增進您對工作負載運作方式的了解。在串聯中， AWS X-Ray 可讓您追蹤、分析和偵錯應用程式，讓您深入了解工作負載的行為。透過服務地圖、延遲分佈和追蹤時間表等功能， AWS X-Ray 可讓您深入了解工作負載的效能和影響工作負載的瓶頸。

### 實作步驟
<a name="implementation-steps"></a>

1.  **確定要收集的資料：**確定可提供工作負載運作狀況、效能和行為實質洞見的重要指標、日誌和追蹤。

1.  **部署[CloudWatch代理程式 ](https://aws.amazon.com/cloudwatch/)：**代理 CloudWatch 程式對於從您的工作負載及其基礎基礎設施中取得系統和應用程式指標和日誌至關重要。 CloudWatch 代理程式也可以用來收集 OpenTelemetry 或 X-Ray 追蹤，並將其傳送至 X-Ray。

1.  **實作日誌和指標的異常偵測：**使用[CloudWatch 日誌異常偵測](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/LogsAnomalyDetection.html)和[CloudWatch指標異常偵測](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html)，自動識別應用程式操作中的異常活動。這些工具使用機器學習演算法來偵測異常並發出提醒，進而提升監控能力，並加快對潛在中斷或安全威脅的回應時間。設定這些功能以主動管理應用程式運作狀態和安全性。

1.  **安全敏感日誌資料：**使用 [Amazon CloudWatch Logs 資料保護](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/mask-sensitive-log-data.html)來遮罩日誌中的敏感資訊。此功能可在存取敏感資料前進行自動偵測和遮罩，從而有助於維護隱私權與合規性。實作資料遮罩，以安全地處理和保護敏感詳細資訊，例如個人識別資訊 （PII）。

1.  **定義和監控業務 KPIs：**建立與您的[業務成果相符的](https://aws-observability.github.io/observability-best-practices/guides/operational/business/monitoring-for-business-outcomes/)[自訂指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html)。

1.  **使用 來測試您的應用程式 AWS X-Ray：**除了部署 CloudWatch代理程式之外，[測試應用程式](https://docs.aws.amazon.com/xray/latest/devguide/xray-instrumenting-your-app.html)以發出追蹤資料也很重要。此程序可提供工作負載行為和效能的進一步洞見。

1.  **將整個應用程式的資料收集標準化：**將整個應用程式的資料收集實務標準化。採取一致的方式有助於找出資料關聯並進行分析，進而提供應用程式行為的全面概覽。

1.  **實作跨帳戶可觀測性：** AWS 帳戶 使用 [Amazon CloudWatch 跨帳戶可觀測性](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html)增強跨多個 的監控效率。使用此功能，您可以將不同帳戶的指標、日誌和警示合併為單一檢視，可簡化管理並改善組織 AWS 環境中已識別問題的回應時間。

1.  **分析資料並採取行動：**資料收集和標準化完成後，請使用 [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/features/) 進行指標和日誌分析，以及[AWS X-Ray](https://aws.amazon.com/xray/features/)追蹤分析。這類分析可產生有關工作負載運作狀況、效能和行為的洞見，進而引導您進行決策。

 **實作計劃的工作量：**高 

## 資源
<a name="resources"></a>

 **相關的最佳實務：**
+  [OPS04-BP01 定義工作負載 KPIs](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_identify_kpis.html) 
+  [OPS04-BP03 實作使用者活動遙測](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_customer_telemetry.html) 
+  [OPS04-BP04 實作相依性遙測](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_dependency_telemetry.html) 
+  [OPS04-BP05 實作交易可追蹤性](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_dist_trace.html) 

 **相關文件：**
+  [AWS 可觀測性最佳實務](https://aws-observability.github.io/observability-best-practices/) 
+  [CloudWatch使用者指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [AWS X-Ray 開發人員指南](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [檢測分散式系統，以了解運作狀態](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility) 
+  [AWS 可觀測性 Skill Builder 課程](https://explore.skillbuilder.aws/learn/course/external/view/elearning/14688/aws-observability) 
+  [Amazon 的新功能 CloudWatch](https://aws.amazon.com/about-aws/whats-new/management-and-governance/?whats-new-content.sort-by=item.additionalFields.postDateTime&whats-new-content.sort-order=desc&awsf.whats-new-products=general-products%23amazon-cloudwatch) 
+  [新功能 AWS X-Ray](https://aws.amazon.com/about-aws/whats-new/developer-tools/?whats-new-content.sort-by=item.additionalFields.postDateTime&whats-new-content.sort-order=desc&awsf.whats-new-products=general-products%23aws-x-ray) 

 **相關影片：**
+  [AWS re：Invent 2022 - Amazon 的可觀測性最佳實務](https://youtu.be/zZPzXEBW4P8) 
+  [AWS re：Invent 2022 - 開發可觀測性策略](https://youtu.be/Ub3ATriFapQ) 

 **相關範例：**
+  [一個可觀測性研討會](https://catalog.workshops.aws/observability) 
+  [AWS 解決方案庫：使用 Amazon 進行應用程式監控 CloudWatch](https://aws.amazon.com/solutions/implementations/application-monitoring-with-cloudwatch) 

# OPS04-BP03 實作使用者體驗遙測
<a name="ops_observability_customer_telemetry"></a>

 深入了解客戶體驗以及與應用程式的互動情形非常重要。實際使用者監控 （RUM） 和合成交易可做為此目的的強大工具。RUM 提供有關真實使用者互動的資料，授予使用者滿意度的未篩選觀點，而合成交易模擬使用者互動，即使在影響真實使用者之前，也有助於偵測潛在問題。

 **預期成果：**提供使用者體驗、主動偵測問題及最佳化使用者互動的整體概觀，從而獲得順暢的數位體驗。

 **常見的反模式：**
+  沒有實際使用者監控的應用程式 （RUM）：
  +  延遲問題偵測：如果沒有 RUM，在使用者投訴之前，您可能不會發現效能瓶頸或問題。這種被動回應的方式可能導致客戶不滿意。
  +  缺乏使用者體驗洞察：不使用 RUM表示您遺失了關鍵資料，這些資料顯示真實使用者如何與您的應用程式互動，限制了您最佳化使用者體驗的能力。
+  沒有綜合交易的應用程式：
  +  缺少邊緣案例：綜合交易可協助您測試一般使用者可能不常使用，但對於某些業務功能來說相當關鍵的路徑和功能。缺少的話，這些路徑可能無法正常運作並遭到忽視。
  +  在應用程式未使用的情況下檢查問題：定期綜合測試可模擬實際使用者未積極與您的應用程式互動的情況，進而確保系統隨時正常運作。

 **建立此最佳實務的優勢：**
+  主動偵測問題：找出並解決潛在問題，避免進一步影響實際使用者。
+  最佳化使用者體驗：RUM協助精簡和增強整體使用者體驗的持續意見回饋。
+  裝置和瀏覽器效能的相關洞見：了解您的應用程式在不同裝置和瀏覽器上的效能表現，以便進一步最佳化。
+  經驗證的業務工作流程：定期綜合交易可確保核心功能和重要路徑維持正常且高效率的運作。
+  增強應用程式效能：利用收集自實際使用者資料的洞見來改善應用程式回應能力和可靠性。

 **未建立此最佳實務時的曝險等級：**高 

## 實作指引
<a name="implementation-guidance"></a>

 為了利用 RUM和 合成交易進行使用者活動遙測， AWS 提供 [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 和 [Amazon CloudWatch Synthetics ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html)等服務。指標、日誌和追蹤搭配使用者活動資料，可提供深入應用程式運作狀態和使用者體驗的全方位檢視。

### 實作步驟
<a name="implementation-steps"></a>

1.  **部署 Amazon CloudWatch RUM：**將應用程式與 CloudWatch RUM 整合，以收集、分析和呈現實際使用者資料。

   1.  使用 [CloudWatch RUM JavaScript 程式庫](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html)RUM與您的應用程式整合。

   1.  設定儀表板以視覺化和監控實際使用者資料。

1.  **設定 CloudWatch 合成：**建立 Canary 或指令碼常式，以模擬使用者與應用程式的互動。

   1.  定義關鍵應用程式工作流程和路徑。

   1.  使用 [CloudWatch Synthetics 指令碼](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html)設計 Canary，以模擬這些路徑的使用者互動。

   1.  排定依指定間隔執行 Canary 並進行監控，確保一致的效能檢查。

1.  **分析資料並對資料採取行動：**利用 RUM和 合成交易中的資料來取得洞察，並在偵測到異常時採取修正措施。使用 CloudWatch 儀表板和警示來隨時掌握最新資訊。

 **實作計劃的工作量：**中 

## 資源
<a name="resources"></a>

 **相關的最佳實務：**
+  [OPS04-BP01 識別關鍵績效指標](ops_observability_identify_kpis.md) 
+  [OPS04-BP02 實作應用程式遙測](ops_observability_application_telemetry.md) 
+  [OPS04-BP04 實作相依性遙測](ops_observability_dependency_telemetry.md) 
+  [OPS04-BP05 實作分散式追蹤](ops_observability_dist_trace.md) 

 **相關文件：**
+ [ Amazon CloudWatch RUM 指南 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html)
+ [ Amazon CloudWatch Synthetics 指南 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html)

 **相關影片：**
+ [ 使用 Amazon 透過最終使用者洞察最佳化應用程式 CloudWatch RUM ](https://www.youtube.com/watch?v=NMaeujY9A9Y)
+ [AWS Air ft 上的 。 Amazon 的真實使用者監控 CloudWatch ](https://www.youtube.com/watch?v=r6wFtozsiVE)

 **相關範例：**
+ [一個可觀測性研討會](https://catalog.workshops.aws/observability/en-US/intro)
+ [ Amazon CloudWatch RUM Web Client 的 Git 儲存庫 ](https://github.com/aws-observability/aws-rum-web)
+ [ 使用 Amazon CloudWatch Synthetics 來測量頁面載入時間 ](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance)

# OPS04-BP04 實作相依性遙測
<a name="ops_observability_dependency_telemetry"></a>

 對於監控工作負載所依賴的外部服務和元件運作狀況與效能，相依性遙測至關重要，可提供連線能力、逾時，以及像是 DNS、資料庫或第三方 API 等其他與相依性相關重要事件的寶貴洞見。檢測應用程式以產生有關這些相依性的指標、日誌和追蹤，便可更清楚了解可能影響工作負載的潛在瓶頸、效能問題或故障。

 **預期成果：**確保工作負載所依賴的相依性如預期般正常運作，讓您能夠主動解決問題並確保最佳的工作負載效能。

 **常見的反模式：**
+  **忽略外部相依性：**僅關注內部應用程式指標，而忽略與外部相依性相關的指標。
+  **缺乏主動監控：**等待問題出現，而非持續監控相依性的運作狀況與效能。
+  **單獨運作的監控：**使用多種分散的監控工具，如此可能導致僅片段掌握相依性運作狀況且獲得的資訊不一致。

 **建立此最佳實務的優勢：**
+  **改善工作負載可靠性：**確保外部相依性穩定運作並保持最佳效能。
+  **更快偵測並解決問題：**主動找出並解決相依性相關問題，不讓問題影響工作負載。
+  **全方位視角：**獲得全方位視角，有效掌握影響工作負載運作狀況的內部和外部元件。
+  **增強工作負載可擴展性：**了解外部相依性的可擴展性限制與效能特性。

 **未建立此最佳實務時的曝險等級：**高 

## 實作指引
<a name="implementation-guidance"></a>

 從識別您的工作負載所依賴的服務、基礎設施和程序開始，實作相依性遙測。將相依性正常運作時的良好條件量化，然後判斷衡量時所需的資料。有了這些資訊，您就可以打造儀表板並設定警示，以便為營運團隊提供這些相依性狀態的洞見。相依性無法按需求運作時，使用 AWS 工具探索並量化其影響。持續重新檢視您的策略，以考量優先順序、目標和獲得的洞見的變化。

### 實作步驟
<a name="implementation-steps"></a>

 若要有效實作相依性遙測：

1.  **識別外部相依性：**與利益相關者協作，共同找出工作負載所依賴的外部相依性。外部相依性可能包含各種服務，像是外部資料庫、第三方 API、前往其他環境的網路連線能力路由，以及 DNS 服務。實現有效相依性遙測的第一步，就是徹底了解這些相依性。

1.  **擬訂監控策略：**清楚了解外部相依性之後，就可以為其量身打造監控策略。這包括了解每一項相依性的重要性、預期行為，以及任何相關的服務層級協議或目標 (SLA 或 SLT)。設定主動警示，以便在發生狀態變更或效能偏差時通知您。

1.  **使用[網路監控](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Network-Monitoring-Sections.html)：**使用[網際網路監控](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-InternetMonitor.html)和[網路監控](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/what-is-network-monitor.html)，全面了解全球網際網路和網路狀況。這些工具可協助您了解並回應影響外部相依性的停機、中斷或效能降低。

1.  **利用 [AWS Health](https://aws.amazon.com/premiumsupport/technology/aws-health/) 隨時掌握新知：**AWS Health 是 AWS 雲端 資源運作狀態的權威資訊來源。使用 AWS Health 視覺化並接收有關任何目前服務事件和近期變更的通知 (例如規劃的生命週期事件)，如此您就能採取行動來緩解衝擊。

   1.  透過 [AWS 使用者通知](https://docs.aws.amazon.com/notifications/latest/userguide/what-is-service.html) [建立符合用途的 AWS Health 事件通知](https://docs.aws.amazon.com/health/latest/ug/user-notifications.html)，以利用電子郵件和聊天管道傳送，並[透過 Amazon EventBridge 或 [AWS Health API](https://docs.aws.amazon.com/health/latest/APIReference/Welcome.html) 以程式設計方式與您的監控和警示工具整合](https://docs.aws.amazon.com/health/latest/ug/cloudwatch-events-health.html)。

   1.  透過 Amazon EventBridge 或 AWS Health API 整合變更管理或您可能已在使用的 ITSM 工具 (如 [Jira](https://docs.aws.amazon.com/smc/latest/ag/cloud-sys-health.html) 或 [ServiceNow](https://docs.aws.amazon.com/smc/latest/ag/sn-aws-health.html))，以規劃並追蹤需要採取行動的運作狀態事件進度。

   1.  如果您使用 AWS Organizations，請啟用 [AWS Health 的組織檢視](https://docs.aws.amazon.com/health/latest/ug/aggregate-events.html)，以彙總帳戶之間的 AWS Health 事件。

1.  **使用 [AWS X-Ray](https://aws.amazon.com/xray/) 檢測您的應用程式：**AWS X-Ray 提供了深入了解應用程式及其基礎相依性運作效能的洞見。透過從頭到尾追蹤請求，您就可以找出應用程式所依賴的外部服務或元件的瓶頸或故障。

1.  **使用 [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/)：**這項機器學習驅動的服務可識別操作問題，預測重大問題可能在什麼時候發生，並且建議可採取的特定行動。對於獲得相依性洞見並確保其不是造成操作問題的根源來說，這項服務非常寶貴。

1.  **定期監控：**持續監控與外部相依性相關的指標和日誌。針對非預期的行為或效能降低的情況設定警示。

1.  **變更後驗證：**每當有任何外部相依性更新或變更，便驗證其效能並檢查是否符合您的應用程式需求。

 **實作計劃的工作量：**中 

## 資源
<a name="resources"></a>

 **相關的最佳實務：**
+  [OPS04-BP01 定義工作負載 KPI](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_identify_kpis.html) 
+  [OPS04-BP02 實作應用程式遙測](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_application_telemetry.html) 
+  [OPS04-BP03 實作使用者活動遙測](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_customer_telemetry.html) 
+  [OPS04-BP05 實作交易可追溯性](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_observability_dist_trace.html) 
+  [OP08-BP04 建立可執行的提醒](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/ops_workload_observability_create_alerts.html) 

 **相關文件：**
+  [Amazon Personal Health 儀板表 使用者指南](https://docs.aws.amazon.com/health/latest/ug/what-is-aws-health.html) 
+  [AWS 網際網路監控使用者指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-InternetMonitor.html) 
+  《AWS X-Ray 開發人員指南》[https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [AWS DevOps Guru 使用者指南](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html) 

 **相關影片：**
+  [深入了解影響應用程式效能的網際網路問題](https://www.youtube.com/watch?v=Kuc_SG_aBgQ) 
+  [Amazon DevOps Guru 簡介](https://www.youtube.com/watch?v=2uA8q-8mTZY) 
+  [使用 AWS Health 大規模管理資源生命週期事件](https://www.youtube.com/watch?v=VoLLNL5j9NA) 

 **相關範例：**
+  [AWS Health Aware](https://github.com/aws-samples/aws-health-aware/) 
+  [使用以標籤為基礎的篩選來大規模管理 AWS Health 監控和提醒](https://aws.amazon.com/blogs/mt/using-tag-based-filtering-to-manage-health-monitoring-and-alerting-at-scale/) 

# OPS04-BP05 實作分散式追蹤
<a name="ops_observability_dist_trace"></a>

 分散式追蹤可讓您監控和以視覺化的方式了解，在分散式系統中各種來回移動元件的請求。透過從多個來源擷取追蹤資料並在統一的檢視中進行分析，團隊就能更了解請求的流程、瓶頸出現的位置，以及最佳化工作應著重的地方。

 **預期成果：**提供分散式系統請求流程的全面概覽，實現精確偵錯、最佳化效能，並改善使用者體驗。

 **常見的反模式：**
+  不一致的檢測：並非所有分散式系統中的服務都經過檢測可進行追蹤。
+  忽略延遲：僅專注於錯誤，而未考慮延遲或效能逐漸降低的現象。

 **建立此最佳實務的優勢：**
+ 全方位的系統概觀：從進入到退出，徹底視覺化整個請求路徑。
+  強化偵錯：快速識別失敗或效能問題發生的位置。
+  改善使用者體驗：根據實際使用者資料進行監控與最佳化，確保系統符合實際需求。

 **未建立此最佳實務時的曝險等級：**高 

## 實作指引
<a name="implementation-guidance"></a>

 首先，識別工作負載中需要檢測的所有元素。計算所有元件後，請利用 AWS X-Ray 和 等工具 OpenTelemetry 來收集追蹤資料，以便使用 X-Ray 和 Amazon CloudWatch ServiceLens Map 等工具進行分析。與開發人員進行定期檢閱，並使用 Amazon DevOpsGuru、X-Ray Analytics 和 X-Ray Insights 等工具來補充這些討論，以協助探索更深入的調查結果。從追蹤資料建立警示，以便在工作負載監視計畫中定義的結果存在風險時發出通知。

### 實作步驟
<a name="implementation-steps"></a>

 若要有效實作分散式追蹤：

1.  **採用 [AWS X-Ray](https://aws.amazon.com/xray/)：**將 X-Ray 整合到您的應用程式中，以獲得深入其行為的洞見、了解效能，並且找出瓶頸的確切位置。利用 X-Ray Insights 進行自動化追蹤分析。

1.  **測試您的服務：**確認從 [AWS Lambda](https://aws.amazon.com/lambda/)函數到[EC2執行個體 ](https://aws.amazon.com/ec2/)的每個服務都會傳送追蹤資料。您測試的服務越多，檢視越清晰 end-to-end。

1.  **整合[CloudWatch 實際使用者監控](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html)和[合成監控 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html)：**將實際使用者監控 （RUM） 和合成監控與 X-Ray 整合。這樣就能擷取實際使用者體驗並模擬使用者互動，以從中找出潛在問題。

1.  **使用[CloudWatch 代理程式 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)：**代理程式可以從 X-Ray 或 傳送追蹤 OpenTelemetry，增強所取得洞見的深度。

1.  **使用 [Amazon DevOpsGuru ](https://aws.amazon.com/devops-guru/)：** DevOpsGuru 使用 X-Ray 的資料 CloudWatch AWS Config， AWS CloudTrail 並提供可行的建議。

1.  **分析追蹤：**定期檢閱追蹤資料，以找出可能影響應用程式效能的模式、異常或瓶頸。

1.  **設定警示：**在 中設定警示[CloudWatch](https://aws.amazon.com/cloudwatch/)是否有異常模式或延長延遲，允許主動解決問題。

1.  **持續改善：**隨著服務增加或修改重新檢視您的追蹤策略，以擷取所有相關資料點。

 **實作計劃的工作量：**中 

## 資源
<a name="resources"></a>

 **相關的最佳實務：**
+  [OPS04-BP01 識別關鍵績效指標](ops_observability_identify_kpis.md) 
+  [OPS04-BP02 實作應用程式遙測](ops_observability_application_telemetry.md) 
+  [OPS04-BP03 實作使用者體驗遙測](ops_observability_customer_telemetry.md) 
+  [OPS04-BP04 實作相依性遙測](ops_observability_dependency_telemetry.md) 

 **相關文件：**
+ [AWS X-Ray 開發人員指南 ](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)
+ [ Amazon CloudWatch 代理程式使用者指南 ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html)
+ [ Amazon DevOpsGuru 使用者指南 ](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html)

 **相關影片：**
+ [ 使用 AWS X-Ray Insights ](https://www.youtube.com/watch?v=tl8OWHl6jxw)
+ [AWS Air ft 上的 。 可觀測性：Amazon CloudWatch 和 AWS X-Ray](https://www.youtube.com/watch?v=qBDBnPkZ-KI)

 **相關範例：**
+ [ 測試您的應用程式 AWS X-Ray](https://aws.amazon.com/xray/latest/devguide/xray-instrumenting-your-app.html)