

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

# 使用 Amazon CloudWatch 設計和實作記錄和監控
<a name="welcome"></a>

*Khurram Nizami，Amazon Web Services (AWS)*

*2023 年 4 月* ([文件歷史記錄](doc-history.md))

本指南可協助您針對使用 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體、Amazon Elastic Container Service (Amazon ECS)、Amazon Elastic Kubernetes Service (Amazon EKS)、 和內部部署伺服器的工作負載，使用 [Amazon CloudWatch](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) [和相關的 Amazon Web Services () ](https://docs.aws.amazon.com//eks/latest/userguide/what-is-eks.html)管理和控管服務來設計和實作記錄和監控。AWS[Amazon EC2](https://docs.aws.amazon.com//ec2/index.html) [https://docs.aws.amazon.com//AmazonECS/latest/developerguide/Welcome.html](https://docs.aws.amazon.com//AmazonECS/latest/developerguide/Welcome.html) [AWS Lambda](https://docs.aws.amazon.com//lambda/latest/dg/welcome.html) 本指南適用於在 AWS 雲端管理工作負載的營運團隊、DevOps 工程師和應用程式工程師。

您的記錄和監控方法應以 AWS Well-Architected Framework [的六個支柱](https://aws.amazon.com//architecture/well-architected/?wa-lens-whitepapers.sort-by=item.additionalFields.sortDate&wa-lens-whitepapers.sort-order=desc)為基礎。這些支柱是[卓越營運](https://docs.aws.amazon.com//wellarchitected/latest/operational-excellence-pillar/welcome.html)、[安全性](https://docs.aws.amazon.com//wellarchitected/latest/security-pillar/welcome.html)、[可靠性](https://docs.aws.amazon.com//wellarchitected/latest/reliability-pillar/welcome.html)、[效能效率](https://docs.aws.amazon.com//wellarchitected/latest/performance-efficiency-pillar/welcome.html)和[成本最佳化](https://docs.aws.amazon.com//wellarchitected/latest/cost-optimization-pillar/welcome.html)。架構良好的監控和警示解決方案可協助您主動分析和調整基礎設施，進而改善可靠性和效能。

本指南不會廣泛討論安全性或成本最佳化的記錄和監控，因為這些是需要深入評估的主題。有許多 AWS 服務支援安全記錄和監控，包括 [AWS CloudTrail](https://docs.aws.amazon.com//awscloudtrail/latest/userguide/cloudtrail-user-guide.html)、[AWS Config](https://docs.aws.amazon.com//config/latest/developerguide/WhatIsConfig.html)、[Amazon Inspector](https://docs.aws.amazon.com//inspector/latest/userguide/inspector_introduction.html)、[Amazon Detective](https://docs.aws.amazon.com//detective/latest/userguide/detective-investigation-about.html)、[Amazon Macie](https://docs.aws.amazon.com//macie/latest/user/what-is-macie.html)、[Amazon GuardDuty](https://docs.aws.amazon.com//guardduty/latest/ug/what-is-guardduty.html) 和 [AWS Security Hub CSPM](https://docs.aws.amazon.com//securityhub/)。您也可以使用 [AWS Cost Explorer](https://docs.aws.amazon.com//awsaccountbilling/latest/aboutv2/ce-what-is.html)、 [AWS Budgets](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html)和 [CloudWatch 帳單指標](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/gs_monitor_estimated_charges_with_cloudwatch.html)進行成本最佳化。

下表概述記錄和監控解決方案應處理的六個區域。


|  |  | 
| --- |--- |
| 擷取和擷取日誌檔案和指標 | 識別、設定系統和應用程式日誌和指標 AWS ，並將其傳送至來自不同來源的服務。 | 
| 搜尋和分析日誌 | 搜尋和分析 日誌以進行操作管理、問題識別、故障診斷和應用程式分析。 | 
| 監控指標和警示 | 識別工作負載中的觀察和趨勢並對其採取行動。 | 
| 監控應用程式和服務可用性 | 透過持續監控服務可用性，減少停機時間並改善您達到服務水準目標的能力。 | 
| 追蹤應用程式 | 追蹤系統和外部相依性中的應用程式請求，以微調效能、執行根本原因分析，以及疑難排解問題。 | 
| 建立儀表板和視覺化 | 建立專注於系統和工作負載相關指標和觀察的儀表板，這有助於持續改善和主動發現問題。 | 

CloudWatch 可以滿足大多數的記錄和監控需求，並提供可靠、可擴展且靈活的解決方案。除了用於監控和分析的 CloudWatch 記錄整合之外，許多 AWS 服務也會自動提供 CloudWatch 指標。CloudWatch 也提供代理程式和日誌驅動程式，以支援各種運算選項，例如伺服器 （雲端和內部部署）、容器和無伺服器運算。本指南也涵蓋下列用於記錄和監控 AWS 的服務：
+ [AWS Systems Manager Distributor](https://docs.aws.amazon.com//systems-manager/latest/userguide/distributor.html)、[Systems Manager State Manager](https://docs.aws.amazon.com//systems-manager/latest/userguide/systems-manager-state.html) 和 [Systems Manager Automation](https://docs.aws.amazon.com//systems-manager/latest/userguide/systems-manager-automation.html) 可自動化、設定和更新 EC2 執行個體和內部部署伺服器的 CloudWatch 代理程式 
+ [Amazon OpenSearch Service](https://docs.aws.amazon.com//opensearch-service/latest/developerguide/what-is.html) 用於進階日誌彙總、搜尋和分析
+ [Amazon Route 53 運作狀態檢查](https://docs.aws.amazon.com//Route53/latest/DeveloperGuide/dns-failover.html)和 [CloudWatch Synthetics](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 來監控應用程式和服務可用性
+ [ Amazon Managed Service for Prometheus](https://docs.aws.amazon.com//prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html) 用於大規模監控容器化應用程式
+ [AWS X-Ray](https://docs.aws.amazon.com//xray/latest/devguide/aws-xray.html) 用於應用程式追蹤和執行時間分析
+ [Amazon Managed Grafana](https://docs.aws.amazon.com//grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) 可視覺化和分析來自多個來源的資料 （例如 CloudWatch、Amazon OpenSearch Service 和 [Amazon Timestream](https://docs.aws.amazon.com//timestream/latest/developerguide/what-is-timestream.html))

您選擇的 AWS 運算服務也會影響記錄和監控解決方案的實作和組態。例如，Amazon EC2、Amazon ECS、Amazon EKS 和 Lambda 的 CloudWatch 實作和組態不同。

應用程式和工作負載擁有者通常會忘記記錄和監控，或是設定和實作不一致。這表示工作負載進入生產時可觀測性有限，這會導致識別問題的延遲，並增加故障診斷和解決這些問題所需的時間。您的記錄和監控解決方案至少必須解決作業系統 (OS) 層級日誌和指標的系統層，以及應用程式日誌和指標的應用程式層。本指南提供建議的方法，以解決不同運算類型的這兩個層，包括下表中概述的三種運算類型。


|  |  | 
| --- |--- |
| 長時間執行和不可變的 EC2 執行個體 | 在多個 AWS 區域或帳戶中跨多個作業系統 OSs) 的系統和應用程式日誌和指標。 | 
| 容器 | Amazon ECS 和 Amazon EKS 叢集的系統與應用程式日誌和指標，包括不同組態的範例。 | 
| 無伺服器  | Lambda 函數的系統與應用程式日誌和指標，以及自訂的考量。 | 

本指南提供記錄和監控解決方案，以解決 CloudWatch 和下列領域的相關 AWS 服務：
+ [規劃 CloudWatch 部署](planning-cloudwatch-deployment.md) – 規劃 CloudWatch 部署的考量事項，以及集中 CloudWatch 組態的指導方針。
+ [為 EC2 執行個體和內部部署伺服器設定 CloudWatch 代理程式](configure-cloudwatch-ec2-on-premises.md) – 系統層級和應用程式層級記錄和指標的 CloudWatch 組態詳細資訊。
+ [Amazon EC2 和內部部署伺服器的 CloudWatch 代理程式安裝方法](cloudwatch-installation-ec2-on-premises.md) – 安裝 CloudWatch 代理程式的方法，包括跨多個區域和帳戶使用 Systems Manager 自動部署。
+ [在 Amazon ECS 上記錄和監控](amazon-ecs-logging-monitoring.md) – Amazon ECS 中針對叢集層級和應用程式層級記錄和指標設定 CloudWatch 的指引。
+ [在 Amazon EKS 上記錄和監控](amazon-eks-logging-monitoring.md) – 在 Amazon EKS 中為叢集層級和應用程式層級記錄和指標設定 CloudWatch 的指引。
+ [Amazon EKS 上的 Prometheus 監控](prometheus-monitoring-eks.md) – 介紹並比較 Amazon Managed Service for Prometheus 與 Prometheus 的 CloudWatch Container Insights 監控。
+ [的記錄和指標 AWS Lambda](lambda-logging-metrics.md) – 為您的 Lambda 函數設定 CloudWatch 的指引。
+ [搜尋和分析 CloudWatch 中的日誌](cloudwatch-search-analysis.md) – 使用 Amazon CloudWatch Application Insights、CloudWatch Logs Insights 分析日誌，以及將日誌分析擴展至 Amazon OpenSearch Service 的方法。
+ [使用 CloudWatch 的警示選項](alarming-options-cloudwatch.md) – 推出 CloudWatch 警示和 CloudWatch 異常偵測，並提供警示建立和設定的指引。
+ [監控應用程式和服務可用性](monitoring-application-service-availability.md) – 介紹並比較 CloudWatch Synthetics 和 Route 53 運作狀態檢查，以進行自動可用性監控。
+ [使用 追蹤應用程式 AWS X-Ray](application-tracing-xray.md) – 使用 X-Ray for Amazon EC2、Amazon ECS、Amazon EKS 和 Lambda 進行應用程式追蹤的簡介和設定
+ [使用 CloudWatch 的儀表板和視覺化](cloudwatch-dashboards-visualizations.md) – CloudWatch Dashboards 簡介，可改善 AWS 工作負載的可觀測性。
+ [CloudWatch 與 AWS 服務的整合](cloudwatch-integration-aws-services.md) – 說明 CloudWatch 如何與各種 AWS 服務整合。
+ [用於儀表板和視覺化的 Amazon Managed Grafana](amg-dashboarding-visualization.md) – 介紹並比較 Amazon Managed Grafana 與 CloudWatch 的儀表板和視覺化。

本指南中會針對這些領域使用實作範例，也可以從[AWS 範例 GitHub 儲存庫](https://github.com/aws-samples/logging-monitoring-apg-guide-examples)取得。