本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon CloudWatch 異常偵測為自訂指標建立警示
由 Ram Kandaswamy (AWS) 和 Raheem Jiwani (AWS) 建立
Summary
在 Amazon Web Services (AWS) Cloud 上,您可以使用 Amazon CloudWatch 建立警示,以監控指標並傳送通知,或在閾值違規時自動進行變更。
若要避免受到靜態閾值的限制,您可以根據過去的模式建立警示,並在特定指標超出正常操作時段時通知您。例如,您可以從 Amazon API Gateway 監控 API 的回應時間,並接收異常的通知,讓您無法滿足服務層級協議 (SLA)。
此模式說明如何針對自訂指標使用 CloudWatch 異常偵測。此模式說明如何在 Amazon CloudWatch Logs Insights 中建立自訂指標,或使用 AWS Lambda 函數發佈自訂指標,然後使用 Amazon Simple Notification Service (Amazon SNS) 設定異常偵測和建立通知。
先決條件和限制
先決條件
作用中的 AWS 帳戶
現有的 SNS 主題,設定為傳送電子郵件通知。如需詳細資訊,請參閱《Amazon SNS 文件》中的 Amazon SNS 入門。
使用 CloudWatch Logs 設定的現有應用程式。
限制
CloudWatch 指標不支援毫秒時間間隔。如需一般和自訂指標精細程度的詳細資訊,請參閱 Amazon CloudWatch FAQs
。
架構
該圖顯示以下工作流程:

使用 CloudWatch Logs 建立和更新的指標的日誌會串流到 CloudWatch。
警示會根據閾值啟動,並將警示傳送至 SNS 主題。
Amazon SNS 會傳送電子郵件通知給您。
技術堆疊
CloudWatch
AWS Lambda
Amazon SNS
工具
Amazon CloudWatch 提供可靠、可擴展且靈活的監控解決方案。
AWS Lambda 是一種運算服務,可協助您執行程式碼,而無需佈建或管理伺服器。
Amazon Simple Notification Service (Amazon SNS) 是一種受管服務,可將訊息從發佈者交付給訂閱者。
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
選項 1 - 使用 Lambda 函數建立自訂指標。 | 下載 執行 Lambda 函數後,您可以登入 AWS 管理主控台、開啟 CloudWatch 主控台,而且已發佈的指標可在已發佈的命名空間下使用。 | DevOps 工程師,AWS DevOps |
選項 2 – 從 CloudWatch 日誌群組建立自訂指標。 | 登入 AWS 管理主控台,開啟 CloudWatch 主控台,然後選擇日誌群組。選擇您要為其建立指標的日誌群組。 選擇動作,然後選擇建立指標篩選條件。針對篩選條件模式,輸入您要使用的篩選條件模式。如需詳細資訊,請參閱 CloudWatch 文件中的篩選和模式語法。 若要測試篩選條件模式,請在測試模式下輸入一或多個日誌事件。每個日誌事件都必須在一行內,因為 Log event messages (日誌事件訊息) 方塊中使用換行來分隔日誌事件。測試模式之後,您可以在指標詳細資訊下輸入指標的名稱和值。 如需建立自訂指標的詳細資訊和步驟,請參閱 CloudWatch 文件中的為日誌群組建立指標篩選條件。 | DevOps 工程師,AWS DevOps |
為您的自訂指標建立警示。 | 在 CloudWatch 主控台上,選擇警示,然後選擇建立警示。選擇選取指標,然後在搜尋方塊中輸入您稍早建立的指標名稱。選擇圖形指標索引標籤,並根據您的需求設定選項。 在 條件下,選擇異常偵測,而非靜態閾值。這會顯示以兩個標準預設偏差為基礎的頻帶。您可以設定閾值,並根據需求調整閾值。 選擇 Next (下一步)。 注意頻帶是動態的,取決於資料點的品質。當您開始彙總更多資料時,頻帶和閾值會自動更新。 | DevOps 工程師,AWS DevOps |
設定 SNS 通知。 | 在通知下,選擇要在警示處於 若要讓警示針對相同的警示狀態或不同警示狀態傳送多個通知,請選擇 Add notification (新增通知)。選擇 Next (下一步)。輸入警示的名稱與說明。名稱只能包含 ASCII 字元。然後選擇下一步。 在預覽和建立下,確認資訊和條件正確無誤,然後選擇建立警示。 | DevOps 工程師,AWS DevOps |
相關資源
附件
若要存取與本文件相關聯的其他內容,請解壓縮下列檔案: attachment.zip