

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 可觀測性
<a name="observability"></a>

 由於微服務架構本質上由許多分散式元件組成，因此所有這些元件的可觀測性變得至關重要。Amazon CloudWatch 啟用此功能、收集和追蹤指標、監控日誌檔案，以及對 AWS 環境中的變更做出反應。它可以監控應用程式和服務產生的 AWS 資源和自訂指標。

**Topics**
+ [監控](monitoring.md)
+ [集中日誌](centralizing-logs.md)
+ [分散式追蹤](distributed-tracing.md)
+ [上的日誌分析 AWS](log-analysis-on-aws.md)
+ [其他分析選項](other-options-for-analysis.md)

# 監控
<a name="monitoring"></a>

 CloudWatch 提供整個系統的資源使用率、應用程式效能和運作狀態的可見性。在微服務架構中，透過 CloudWatch 進行自訂指標監控很有幫助，因為開發人員可以選擇收集哪些指標。動態擴展也可以以這些自訂指標為基礎。

 CloudWatch Container Insights 擴展此功能，自動收集 CPU、記憶體、磁碟和網路等許多資源的指標。它有助於診斷容器相關問題，簡化解決方案。

 對於 Amazon EKS，常用的選擇是 Prometheus，這是一種提供全方位監控和提醒功能的開放原始碼平台。它通常與 Grafana 結合使用，以實現直覺式指標視覺化。[Amazon Managed Service for Prometheus (AMP)](https://aws.amazon.com/prometheus/) 提供與 Prometheus 完全相容的監控服務，讓您輕鬆監督容器化應用程式。此外，[Amazon Managed Grafana (AMG)](https://aws.amazon.com/grafana/) 可簡化指標的分析和視覺化，無需管理基礎基礎設施。

![\[顯示具有監控元件之無伺服器架構的圖表\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/microservices-on-aws/images/serverless-arch-with-monitoring.png)


![\[具有監控元件的容器型架構\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/microservices-on-aws/images/container-arch-with-monitoring.png)


# 集中日誌
<a name="centralizing-logs"></a>

 記錄是找出並解決問題的關鍵。透過微服務，您可以更頻繁地發佈並試驗新功能。 AWS 提供 Amazon S3、 CloudWatch Logs 和 Amazon OpenSearch Service 等服務來集中化日誌檔案。Amazon EC2 使用協助程式將日誌傳送至 CloudWatch，而 Lambda 和 Amazon ECS 則會在那裡原生傳送其日誌輸出。對於 Amazon EKS，[Fluent Bit 或 Fluentd 可用於](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-EKS-logs.html)將日誌轉送至 CloudWatch，以使用 OpenSearch 和 Kibana 進行報告。不過，由於佔用空間 和[效能優勢](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-EKS-logs.html)較小，建議使用 Fluent Bit 而非 Fluentd。

 圖 12 說明如何將各種 AWS 服務的日誌導向 Amazon S3 和 CloudWatch。這些集中式日誌可以使用 Amazon OpenSearch Service 進一步分析，包括用於資料視覺化的 Kibana。此外，Amazon Athena 可用於針對存放在 Amazon S3 中的日誌進行臨機操作查詢。

![\[顯示 AWS 服務記錄功能的圖表\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/microservices-on-aws/images/logging-capabilities.png)


# 分散式追蹤
<a name="distributed-tracing"></a>

 微服務通常會共同處理請求。 AWS X-Ray 會使用相互關聯 IDs來追蹤這些服務的請求。X-Ray 可與 Amazon EC2、Amazon ECS、Lambda 和 Elastic Beanstalk 搭配使用。

![\[顯示 AWS X-Ray 服務映射的圖表\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/microservices-on-aws/images/xray-service-map.png)


 [AWS Distro for OpenTelemetry](https://aws.amazon.com/otel/?otel-blogs.sort-by=item.additionalFields.createdDate&otel-blogs.sort-order=desc) 是 OpenTelemetry 專案 的一部分，提供開放原始碼 APIs 和代理程式來收集分散式追蹤和指標，並改善您的應用程式監控。 它會將指標和追蹤傳送至多個 AWS 和合作夥伴監控解決方案。透過從您的 AWS 資源收集中繼資料，它將應用程式效能與基礎基礎設施資料保持一致，從而加速解決問題。此外，它與各種 AWS 服務相容，可用於內部部署。

# 上的日誌分析 AWS
<a name="log-analysis-on-aws"></a>

 Amazon CloudWatch Logs Insights 允許即時日誌探索、分析和視覺化。如需進一步的日誌檔案分析，包括 Kibana 的 Amazon OpenSearch Service 是功能強大的工具。CloudWatch Logs 可以即時將日誌項目串流至 OpenSearch Service。Kibana 與 OpenSearch 無縫整合，可視覺化此資料並提供直覺式搜尋界面。

![\[顯示 Amazon OpenSearch Service 日誌分析的圖表\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/microservices-on-aws/images/log-analysis-with-opensearch-service.png)


# 其他分析選項
<a name="other-options-for-analysis"></a>

 如需進一步的日誌分析，全受管資料倉儲服務 Amazon Redshift 和可擴展的商業智慧服務 [Quick](https://aws.amazon.com/quicksight/) 提供有效的解決方案。QuickSight 可輕鬆連線至各種 AWS 資料服務，例如 Redshift、RDS、Aurora、EMR、DynamoDB、Amazon S3 和 Kinesis，簡化資料存取。

 CloudWatch Logs 可以將日誌項目串流至 Amazon Data Firehose，這是一種提供即時串流資料的服務。然後，QuickSight 會使用存放在 Redshift 中的資料進行全面分析、報告和視覺化。

![\[顯示 Amazon Redshift 和 Quick 日誌分析的圖表\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/microservices-on-aws/images/log-analysis-redshift-quicksight.png)


 此外，當日誌存放在物件儲存服務的 S3 儲存貯體時，資料可以載入到 Redshift 或 EMR 等服務，這是雲端型大數據平台，允許對儲存的日誌資料進行徹底分析。

![\[顯示簡化日誌分析的圖表：從 AWS 服務到 QuickSight\]](http://docs.aws.amazon.com/zh_tw/whitepapers/latest/microservices-on-aws/images/streamlining-log-analysis.png)
