使用 Amazon 設計和實作日誌記錄和監控 CloudWatch - AWS 規定指引

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

使用 Amazon 設計和實作日誌記錄和監控 CloudWatch

尼扎米, Amazon Web Services (AWS)

2023 年 4 月 (文件歷史記錄)

本指南可協助您針對使用 Amazon 彈性運算雲端 (Amazon CloudWatch EC2AWS) 執行個體、Amazon Web Services 服務 (Amazon ECS)、亞馬遜彈性容器服務 (Amazon ECS) 、Amazon 彈性 Kubernetes 服務 (Amazon EKS) 和現場部署伺服器的工作負載,設計和實作記錄和監控 () 管理和控管服務。AWS Lambda本指南適用於在AWS雲端管理 DevOps 工作負載的作業團隊、工程師和應用程式工程師。

您的記錄和監控方法應以AWS Well-Architected 的架構的六個支柱為基礎。這些支柱包括卓越營運安全性、可靠性效能效率成本最佳化。架構良好的監控和警示解決方案可協助您主動分析和調整基礎架構,進而改善可靠性和效能。

本指南不會廣泛討論安全性或成本最佳化的記錄和監控,因為這些主題需要深入評估。有許多支持安全日誌記錄和監控的AWS服務 AWS CloudTrailAWS Config,包括 Amazon Inspector亞馬遜 DetectiveAmazon Macie GuardDuty,亞馬遜AWS Security Hub. 您還可以使用AWS Cost ExplorerAWS預算CloudWatch 計費指標進行成本優化。

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

擷取和擷取記錄檔和指標 識別、設定系統和應用程式記錄檔和指標,並將其傳送至不同來源的AWS服務。
搜尋和分析記錄檔 搜尋並分析作業管理、問題識別、疑難排解和應用程式分析的記錄。
監控指標和警報 識別工作負載中的觀察和趨勢並採取行動。
監控應用程式和服務可用 透過持續監控服務可用性,減少停機時間並提高符合服務等級目標的能力。
追蹤應用 追蹤系統中的應用程式要求和外部相依性,以微調效能、執行根本原因分析,以及疑難排解問題。
建立儀表板和視覺化 建立專注於系統和工作負載的相關指標和觀察的儀表板,有助於持續改善並主動探索問題。

CloudWatch 可滿足大部分的記錄和監控需求,提供可靠、可擴展且彈性的解決方案。除了用於監視和分析的 CloudWatch 記錄整合外,許多AWS服務還會自動提供 CloudWatch 指標。 CloudWatch 也提供代理程式和記錄驅動程式,以支援各種運算選項,例如伺服器 (雲端和內部部署)、容器和無伺服器運算。本指南也涵蓋下列與記錄和監視搭配使用的AWS服務:

您選擇的AWS運算服務也會影響記錄和監控解決方案的實作和組態。例如, CloudWatchAmazon EC2,亞馬遜 ECS,亞馬遜 EKS 和 Lambda 的實施和配置不同。

應用程式和工作負載擁有者通常會忘記記錄和監控,或設定和實作不一致。這表示工作負載在可觀察性有限的情況下進入生產環境,這會導致識別問題的延遲,並增加疑難排解和解決問題所花費的時間。除了應用程式記錄檔和指標的應用程式層之外,您的記錄和監控解決方案至少必須解決作業系統 (OS) 層級記錄和指標的系統層。本指南提供針對不同運算類型 (包括下表所述的三種運算類型) 來解決這兩個層級的建議方法。

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

本指南提供記錄與監控解決方案,可處理下列領域的相關AWS服務: CloudWatch

本指南中使用的實作範例涵蓋這些領域,也可從 AWSSamples GitHub 存放庫取得。