Amazon DOP-C02: 監控、日誌記錄與可觀測性 — 學習指南

屬於 AWS DevOps Engineer Professional DOP-C02 — 學習指南. 使用經過驗證的解答練習: Amazon 考試中心, 或參加限時模擬考試: ExamRoll.io.

總覽

在 AWS 上的監控、日誌記錄與可觀測性,需要將指標、日誌、追蹤、事件和健康遙測資料結合成可據以行動的信號。有效的架構會使用 Amazon CloudWatch 處理指標、警報和儀表板;使用 CloudWatch Logs 和 Logs Insights 進行日誌擷取和分析;使用 AWS X-Ray 進行分散式追蹤;使用 AWS CloudTrail 進行稽核和完整性檢查;使用 Amazon EventBridge 進行事件驅動的偵測和自動化;使用 AWS Health 處理特定於帳戶的服務事件;並使用集中式管道 (Kinesis Data Firehose 和 OpenSearch) 進行大規模的搜尋和關聯分析。以下模式強調減少雜訊、精確的信號路由、自動化以及多帳戶/多區域的操作。

CloudWatch 指標、警報、儀表板與複合警報

CloudWatch 指標是 SLO、擴展和警示的基礎。發佈具有細粒度維度的自訂指標以隔離信號(例如:apiOperation、appVersion、statusCode)。使用 CloudWatch 嵌入式指標格式 (EMF) 搭配結構化日誌,從 Lambda、容器和 EC2 高效率地發出高基數維度,以避免 PutMetricData API 的額外開銷。

設定具有穩健評估機制的警報:

複合警報透過 AND/OR 邏輯結合多個底層警報,以減少警報疲勞。例如,僅在 p95 延遲過高、5xx 錯誤率超過閾值且 CPU 飽和度持續存在時才發出警報,從而與使用者受到的影響保持一致。複合警報可透過跨帳戶可觀測性或將指標串流至中央帳戶的方式,接受來自跨區域/跨帳戶的子警報的狀態更新。

儀表板將跨服務的關鍵指標視覺化。使用小工具來顯示指標、Logs Insights 查詢結果和警報狀態。標準化儀表板的慣例(命名、時間範圍、SLO 覆蓋層),並利用 CloudWatch Observability Access Manager (OAM) 實現跨區域/跨帳戶的檢視。為了進行臨時性的關聯分析,可將 Logs Insights 和 X-Ray ServiceLens 小工具與服務地圖小工具及 Kinesis Firehose 錯誤率並排釘選。

CloudWatch Logs:日誌群組、指標篩選器、訂閱篩選器與 Logs Insights

根據應用程式/元件和生命週期階段來組織日誌群組。設定明確的保留政策(不要依賴「永不過期」),並在需要時啟用 KMS 加密。使用資源政策和細粒度的 IAM 來控制生產者和訂閱者。對於高吞吐量的擷取,請確保足夠的日誌串流並行性和批次處理。

指標篩選器將日誌模式轉換為指標。定義一個帶有提取權杖(JSON 或以空格分隔)的篩選模式,並將權杖對應到指標維度。這支援了像是直接從日誌發佈每個 API、每個版本、每個回應碼的指標,而無需修改生產者的使用案例。確保單位和預設值正確;偏好每個事件為 1,並透過指標數學推導出速率。使用這些指標進行 SLO 警示和儀表板製作。

訂閱篩選器將日誌近乎即時地串流至:

CloudWatch Logs Insights 提供對日誌的互動式、無伺服器查詢。核心運算子包括 fieldsfilterparsestatssortlimitdedup 和用於時間分桶的 bin。剖析 JSON 欄位或對文字日誌使用類 grok 的剖析方式。範例:

AWS X-Ray:追蹤、取樣規則、服務地圖與註釋

X-Ray 擷取跨服務的分散式追蹤,以找出延遲的來源與故障邊界。使用 AWS Distro for OpenTelemetry (ADOT) 或 X-Ray SDK 來檢測 (instrument) 服務,傳遞追蹤標頭 (例如 X-Amzn-Trace-Id),並在需要的地方 (ECS/EKS/EC2) 執行 X-Ray daemon/agent。許多託管服務皆原生整合 (例如 API Gateway、ALB 透過存取日誌代理追蹤、啟用主動追蹤的 Lambda、Step Functions 透過 subsegments)。

取樣規則控制資料量與訊號的保真度。使用一組中央取樣規則,並包含:

服務地圖將呼叫圖視覺化,顯示包含延遲、錯誤率和調節指標的邊緣 (edge)。深入鑽研追蹤以檢查 segment 和 subsegment,從而了解下游相依性。使用註釋 (annotations) (已索引的鍵值對) 進行高基數 (high-cardinality) 過濾,例如 customerTier、apiOperation、appVersion 或 AWS 請求 ID。使用元資料 (metadata) 來儲存詳細、未索引的上下文,以避免索引過度膨脹。將 X-Ray 追蹤群組與 CloudWatch ServiceLens 結合,以便在單一視圖中關聯日誌、指標和追蹤。建立過濾表達式 (例如,annotation.appVersion = “2.3.1” and fault = true) 來隔離迴歸問題,並匯出追蹤 ID 以進行針對性的日誌搜尋。

治理與事件:CloudTrail、EventBridge 與 AWS Health

CloudTrail 記錄 API 活動以進行治理和鑑識分析。啟用一個橫跨所有帳戶和所有區域的組織追蹤 (organization trail),將日誌交付到一個使用 SSE-KMS 的集中式 S3 儲存貯體,啟用日誌檔案驗證,並與 CloudWatch Logs 整合以進行近乎即時的偵測。區分事件類別:

EventBridge 提供一個事件結構 (event fabric) 用於偵測和自動化。使用預設事件匯流排 (event bus) 處理 AWS 服務事件,並為應用程式領域的事件建立自訂匯流排。定義事件模式 (event pattern) 以匹配來源 (source)、詳細類型 (detail-type)、詳細資訊欄位 (detail fields)、前綴、數值範圍和「anything-but」條件。應用輸入轉換器 (input transformers) 來重塑事件,附加基於資源的政策以進行跨帳戶發布,並在目標上設定重試/DLQ。常見的目標包括 Lambda (修復)、Step Functions (協調)、SQS (解耦)、Systems Manager Automation (維運操作)、CodePipeline (CI 觸發器) 和 SNS (通知)。封存和重播事件以從消費者中斷中恢復,並使用結構描述登錄 (schema registry) 來產生強型別的事件模型。

AWS Health 呈現帳戶特定的服務事件、排程變更和營運問題。透過 EventBridge 與來源為 aws.health 和詳細類型為 AWS Health Event 的事件整合,以路由到事件應變頻道、開啟 OpsCenter OpsItems,或在維護時段觸發安全的關機/擴展操作。使用組織檢視 (Organizational View) 搭配委派管理員帳戶,以匯總所有帳戶的 Health 事件,並考慮使用 AWS Health API 或 AWS Health Aware 解決方案,將整理過的通知推送到待命 (on-call) 系統。

使用 Kinesis Data Firehose 與 OpenSearch 進行集中式日誌記錄

一個多帳戶、多區域的日誌記錄策略,能將日誌的擷取與搜尋標準化。在每個生產者帳戶中,設定 CloudWatch Logs 訂閱篩選器,將日誌傳送到由中央 Kinesis Data Firehose 支援的跨帳戶日誌目的地。啟用 Firehose 的功能:

將此管道與 CloudWatch 指標篩選器結合,以實現快速、低成本的計數器,並與 Logs Insights 結合,以進行臨機的深度查詢。使用由 Firehose/OpenSearch 異常或 CloudWatch 警報觸發的 EventBridge 規則,來啟動修復措施或引發事件。

實務問題情境

Airbnb 在部署於 EKS 和 Lambda 上的微服務中,經歷了間歇性的 API 錯誤和延遲高峰,且有多個行動應用程式版本在線上運行。維運團隊需要近乎即時地按 API 操作、回應碼和應用程式版本進行偵測;跨追蹤和日誌進行快速的根本原因分析;對已知的故障模式進行自動化修復;以及符合治理等級的稽核軌跡。

  1. 標準化結構化日誌記錄

undefined

undefined

undefined

undefined

undefined

等欄位。

  1. 建立 CloudWatch Logs 指標篩選器

undefined

undefined

undefined

來遞增計數器。

  1. 建立分層的 CloudWatch 警報和一個複合警報
  1. 部署具有目標取樣的 X-Ray 追蹤
  1. 與 ServiceLens 和 Logs Insights 進行關聯

undefined

) 的儀表板。

  1. 透過 Firehose 將日誌集中到 OpenSearch 和 S3
  1. 使用 EventBridge 自動化偵測和修復
  1. 整合 AWS Health 和維護處理

undefined

事件新增 EventBridge 規則。目標設定為 SSM Automation,以封鎖/排空節點或轉移流量。

  1. 透過 CloudTrail org trail 和完整性來強化治理
  1. 通知和維運整合

選擇此設計是為了結合低延遲、維度豐富的指標 (CloudWatch + EMF)、深度的追蹤關聯 (X-Ray + ServiceLens)、大規模搜尋 (OpenSearch + S3/Athena)、事件驅動的修復 (EventBridge + Lambda/SSM/Step Functions) 以及可稽核的治理 (具有完整性驗證的 CloudTrail)。它透過取樣、保留分層以及反映真實使用者影響的目標式警報,在成本和保真度之間取得了平衡。


基礎設施即程式碼與組態管理 · 所有領域 · 安全、合規性與治理

練習這些題目 → · 在 ExamRoll.io 上限時練習 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

通過考試 →

瀏覽 Amazon →

Related guides

一站式存取

一份訂閱。所有考試。

每個方案都可無限存取答案搜尋、練習測驗、AI 解釋和完整的資源庫 — 支援 20 多種語言。

每月
24.87
Just €0.83/day
包含所有內容:
  • 無限答案搜尋
  • 無限練習測驗
  • AI 驅動的解釋
  • 完整資源庫
  • 20 多種語言
  • 每週內容更新
  • 獎勵與推薦
  • 優先支援
開始免費試用

無需信用卡*

最佳價值
12 個月
179.87
Just €0.49/daySave 40%
包含所有內容:
  • 無限答案搜尋
  • 無限練習測驗
  • AI 驅動的解釋
  • 完整資源庫
  • 20 多種語言
  • 每週內容更新
  • 獎勵與推薦
  • 優先支援
開始免費試用

無需信用卡*

✓ 包含免費方案 · ✓ 隨時取消 · ✓ 所有方案解鎖完整產品