本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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,亞馬遜 Detective,Amazon Macie GuardDuty,亞馬遜和 AWS Security Hub. 您還可以使用AWS Cost ExplorerAWS預算和CloudWatch 計費指標進行成本優化。
下表概述了您的記錄和監控解決方案應該解決的六個區域。
擷取和擷取記錄檔和指標 | 識別、設定系統和應用程式記錄檔和指標,並將其傳送至不同來源的AWS服務。 |
搜尋和分析記錄檔 | 搜尋並分析作業管理、問題識別、疑難排解和應用程式分析的記錄。 |
監控指標和警報 | 識別工作負載中的觀察和趨勢並採取行動。 |
監控應用程式和服務可用 | 透過持續監控服務可用性,減少停機時間並提高符合服務等級目標的能力。 |
追蹤應用 | 追蹤系統中的應用程式要求和外部相依性,以微調效能、執行根本原因分析,以及疑難排解問題。 |
建立儀表板和視覺化 | 建立專注於系統和工作負載的相關指標和觀察的儀表板,有助於持續改善並主動探索問題。 |
CloudWatch 可滿足大部分的記錄和監控需求,提供可靠、可擴展且彈性的解決方案。除了用於監視和分析的 CloudWatch 記錄整合外,許多AWS服務還會自動提供 CloudWatch 指標。 CloudWatch 也提供代理程式和記錄驅動程式,以支援各種運算選項,例如伺服器 (雲端和內部部署)、容器和無伺服器運算。本指南也涵蓋下列與記錄和監視搭配使用的AWS服務:
-
AWS Systems Manager代理商、Systems Manager 狀態管理員和 Systems Manager 自動化,可自動化、設定和更新 EC2 執行個體和現場部署伺服器的 CloudWatch 代理程式
-
Amazon Route 53 運作狀態檢查和 CloudWatchSynthetics,可監控應用程式和服務的可
-
Amazon thethethethethethethethetheus 的 Amazon Managed thethethetheus 的 Amazon Managed thethetheus 的 Amazon Managed the
-
AWS X-Ray應用程式追蹤和執行階段分析
-
亞馬遜託管 Grafana 可視化和分析來自多個來源的數據(例如 CloudWatch,亞馬遜 OpenSearch 服務和 Amazon Timestream)
您選擇的AWS運算服務也會影響記錄和監控解決方案的實作和組態。例如, CloudWatchAmazon EC2,亞馬遜 ECS,亞馬遜 EKS 和 Lambda 的實施和配置不同。
應用程式和工作負載擁有者通常會忘記記錄和監控,或設定和實作不一致。這表示工作負載在可觀察性有限的情況下進入生產環境,這會導致識別問題的延遲,並增加疑難排解和解決問題所花費的時間。除了應用程式記錄檔和指標的應用程式層之外,您的記錄和監控解決方案至少必須解決作業系統 (OS) 層級記錄和指標的系統層。本指南提供針對不同運算類型 (包括下表所述的三種運算類型) 來解決這兩個層級的建議方法。
長時間執行且不可變的 EC2 執行個體 | 跨多個AWS區域或帳戶中多個作業系統 (OS) 的系統和應用程式記錄檔和指標。 |
容器 | Amazon ECS 和 Amazon EKS 叢集的系統和應用程式日誌和指標,包括不同組態的範例。 |
無伺服器 | Lambda 函數的系統和應用程式日誌和指標,以及自訂的考量事項。 |
本指南提供記錄與監控解決方案,可處理下列領域的相關AWS服務: CloudWatch
-
規劃您的 CloudWatch 部署— 規劃 CloudWatch 部署的考量,以及集中化 CloudWatch 組態的指導。
-
設定 CloudWatch EC2 執行個體和內部部署伺服器的代理程式— 系統層級和應用程式層級記錄和測量結果的 CloudWatch 組態詳細資料。
-
適用於 Amazon EC2 和本地服務器的 CloudWatch 代理安裝方法— 安裝 CloudWatch 代理程式的方法,包括跨多個區域和帳戶使用 Systems Manager 的自動部署。
-
在 Amazon ECS 上進行記錄和監控 — 在 Amazon ECS 中 CloudWatch 設定叢集層級和應用程式層級記錄和指標的指引。
-
Amazon EKS 上的記錄和監控 — 在 Amazon EKS 中 CloudWatch 設定叢集層級和應用程式層級記錄和指標的指導。
-
Amazon EKS 上的 Prometheus 監控— 介紹並比較適用於 Prometheus 的 Amazon 受管服務與 Prometheus 的 CloudWatch 容器洞察監控。
-
記錄和指標AWS Lambda— 設定 CloudWatch Lambda 函數的指引。
-
搜尋和分析記錄 CloudWatch— 使用 Amazon CloudWatch 應用程式洞察、日誌深入解析,以及將 CloudWatch 日誌分析延伸到 Amazon OpenSearch 服務來分析日誌的方法。
-
CloudWatch 警示選項— 引入 CloudWatch 警報和 CloudWatch 異常偵測,並提供有關警報建立和設定的指導。
-
監控應用程序和服務可用性— 引入和比較 CloudWatch Synthetics 和 Route 53 健康檢查,以實現自動可用性監控。
-
使用跟蹤應用程序AWS X-Ray— 使用 X-Ray 進行亞馬遜 EC2,亞馬遜 ECS,亞馬遜 EKS 和 Lambda 進行應用程序跟踪的簡介和設置
-
使用雲手錶的儀錶板和可視化— CloudWatch 儀表板簡介,以提高AWS工作負載的可觀察性。
-
與 CloudWatch 整合AWS服務— 說明如何 CloudWatch 與各種AWS服務整合。
-
用於儀表板和可視化的亞馬遜託管 Grafana— 介紹和比較亞馬遜託管 Grafana 與 CloudWatch 儀表板和可視化。
本指南中使用的實作範例涵蓋這些領域,也可從 AWSSamples GitHub 存放庫取