本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon CloudWatch 設計和實作記錄和監控
Khurram Nizami,Amazon Web Services (AWS)
2023 年 4 月 (文件歷史記錄)
本指南可協助您為使用 Amazon Elastic Compute Cloud (Amazon EC2 AWS) 執行個體、Amazon Elastic Container Service (Amazon ECS)、Amazon CloudWatch Elastic Kubernetes Service (Amazon EKS)AWS Lambda、 和內部部署伺服器的工作負載,設計和實作記錄和監控。 Amazon EC2 本指南適用於在 AWS 雲端管理工作負載的營運團隊、DevOps 工程師和應用程式工程師。
您的記錄和監控方法應以 AWS Well-Architected Framework 的六個支柱
本指南不會廣泛討論安全或成本最佳化的記錄和監控,因為這些是需要深入評估的主題。有許多 AWS 服務支援安全記錄和監控,包括 AWS CloudTrail、AWS Config、Amazon Inspector、Amazon Detective、Amazon Macie、Amazon GuardDuty 和 AWS Security Hub。您也可以使用 AWS Cost Explorer、 AWS Budgets和 CloudWatch 帳單指標進行成本最佳化。
下表概述您的記錄和監控解決方案應處理的六個區域。
擷取和擷取日誌檔案和指標 | 識別、設定系統和應用程式日誌和指標 AWS ,並將其傳送至來自不同來源的服務。 |
搜尋和分析日誌 | 搜尋和分析 日誌以進行操作管理、問題識別、故障診斷和應用程式分析。 |
監控指標和警示 | 識別工作負載中的觀察和趨勢並對其採取行動。 |
監控應用程式和服務可用性 | 透過持續監控服務可用性,減少停機時間並改善您達到服務層級目標的能力。 |
追蹤應用程式 | 追蹤系統和外部相依性中的應用程式請求,以微調效能、執行根本原因分析和疑難排解問題。 |
建立儀表板和視覺化效果 | 建立專注於系統和工作負載相關指標和觀察的儀表板,這有助於持續改善和主動發現問題。 |
CloudWatch 可以滿足大多數記錄和監控需求,並提供可靠、可擴展且靈活的解決方案。除了 CloudWatch 日誌記錄整合,許多 AWS 服務也會自動提供 CloudWatch 指標以進行監控和分析。CloudWatch 也提供代理程式和日誌驅動程式,以支援各種運算選項,例如伺服器 (雲端和內部部署)、容器和無伺服器運算。本指南也涵蓋下列與記錄和監控搭配使用 AWS 的服務:
-
AWS Systems Manager Distributor、Systems Manager State Manager 和 Systems Manager Automation 可自動化、設定和更新 EC2 執行個體和內部部署伺服器的 CloudWatch 代理程式
-
Amazon OpenSearch Service 用於進階日誌彙總、搜尋和分析
-
Amazon Route 53 運作狀態檢查和 CloudWatch Synthetics 來監控應用程式和服務可用性
-
Amazon Managed Service for Prometheus 用於大規模監控容器化應用程式
-
AWS X-Ray 用於應用程式追蹤和執行時間分析
-
Amazon Managed Grafana 可視覺化和分析來自多個來源的資料 (例如 CloudWatch、Amazon OpenSearch Service 和 Amazon Timestream)
您選擇的 AWS 運算服務也會影響記錄和監控解決方案的實作和組態。例如,Amazon EC2、Amazon ECS、Amazon EKS 和 Lambda 的 CloudWatch 實作和組態不同。
應用程式和工作負載擁有者通常會忘記記錄和監控,或設定和實作不一致。這表示工作負載進入生產時可觀測性有限,這會導致識別問題的延遲,並增加故障診斷和解決問題所需的時間。您的記錄和監控解決方案至少必須解決作業系統 (OS) 層級日誌和指標的系統層,以及應用程式日誌和指標的應用程式層。本指南提供建議的方法,以解決不同運算類型的這兩個層,包括下表中概述的三種運算類型。
長時間執行和不可變的 EC2 執行個體 | 在多個 AWS 區域或帳戶中跨多個作業系統 OSs) 的系統和應用程式日誌和指標。 |
容器 | Amazon ECS 和 Amazon EKS 叢集的系統和應用程式日誌和指標,包括不同組態的範例。 |
無伺服器 | Lambda 函數的系統和應用程式日誌和指標,以及自訂的考量。 |
本指南提供記錄和監控解決方案,可解決 CloudWatch 和下列領域中相關 AWS 服務的問題:
-
規劃 CloudWatch 部署 – 規劃 CloudWatch 部署的考量,以及集中 CloudWatch 組態的指導方針。
-
為 EC2 執行個體和內部部署伺服器設定 CloudWatch 代理程式 – 系統層級和應用程式層級記錄和指標的 CloudWatch 組態詳細資訊。
-
Amazon EC2 和內部部署伺服器的 CloudWatch 代理程式安裝方法 – 安裝 CloudWatch 代理程式的方法,包括跨多個區域和帳戶使用 Systems Manager 自動部署。
-
在 Amazon ECS 上記錄和監控 – 在 Amazon ECS 中設定叢集層級和應用程式層級記錄和指標的 CloudWatch 指南。
-
在 Amazon EKS 上記錄和監控 – 在 Amazon EKS 中設定叢集層級和應用程式層級記錄和指標的 CloudWatch 指南。
-
Amazon EKS 上的 Prometheus 監控 – 介紹 Amazon Managed Service for Prometheus 與 CloudWatch Container Insights for Prometheus 監控並將其進行比較。
-
的日誌記錄和指標 AWS Lambda – 為您的 Lambda 函數設定 CloudWatch 的指引。
-
搜尋和分析 CloudWatch 中的日誌 – 使用 Amazon CloudWatch Application Insights、CloudWatch Logs Insights 分析日誌,並將日誌分析擴展至 Amazon OpenSearch Service 的方法。
-
使用 CloudWatch 的警示選項 – 推出 CloudWatch 警示和 CloudWatch 異常偵測,並提供警示建立和設定的指引。
-
監控應用程式和服務可用性 – 介紹並比較 CloudWatch Synthetics 和 Route 53 運作狀態檢查,以進行自動可用性監控。
-
使用 追蹤應用程式 AWS X-Ray – 使用 X-Ray for Amazon EC2、Amazon ECS、Amazon EKS 和 Lambda 進行應用程式追蹤的簡介和設定
-
使用 CloudWatch 的儀表板和視覺化 – CloudWatch Dashboards 簡介,可改善 AWS 工作負載的可觀測性。
-
CloudWatch 與 AWS 服務的整合 – 說明 CloudWatch 如何與各種 AWS 服務整合。
-
適用於儀表板和視覺化的 Amazon Managed Grafana – 介紹並比較 Amazon Managed Grafana 與 CloudWatch 的儀表板和視覺化。
本指南中會針對這些領域使用實作範例,也可以從 AWS Samples GitHub 儲存庫