本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
指標篩選條件的篩選條件模式語法
注意
指標篩選條件如何區別 CloudWatch Logs Insights 查詢
指標篩選條件與 CloudWatch Logs Insights 查詢不同,因為每次找到相符的日誌時,指定的數值都會新增至指標篩選條件。如需詳細資訊,請參閱配置指標篩選條件的指標值。
如需如何使用 Amazon CloudWatch Logs Insights 查詢語言查詢日誌群組的詳細資訊,請參閱 CloudWatch Logs Insights 語言查詢語法。
一般篩選條件模式範例
如需適用於指標篩選條件以及訂閱篩選條件和篩選條件日誌事件的一般篩選條件模式語法,請參閱適用於指標篩選條件、訂閱篩選條件和篩選條件日誌事件的篩選條件模式語法,其中包括下列範例:
支援的規則運算式 (regex) 語法
在非結構化日誌事件中比對詞彙
JSON 日誌事件中的相符詞彙
比對以空格分隔的日誌事件中的詞彙
指標篩選條件可讓您搜尋和篩選傳入 CloudWatch 日誌中的日誌資料、從篩選日誌資料擷取指標觀察,並將資料點轉換為 CloudWatch 日誌指標。您會定義要尋找的詞彙和模式,在傳送至 Logs 的 CloudWatch 日誌資料中尋找。指標篩選條件指派給日誌群組,並且指派給日誌群組的所有篩選條件都會套用於其日誌串流。
當指標篩選條件與某個詞彙相符時,便會以指定的數值增加指標的計數。例如,您可以建立指標篩選條件,以計算日誌事件中字詞ERROR的次數。
您可以對指標指派度量單位和維度。例如,如果您建立指標篩選條件,以計算文字在日誌事件中ERROR發生的次數,您可以指定稱為 的維度ErrorCode
,以顯示包含文字的日誌事件總數,ERROR並根據報告的錯誤代碼篩選資料。
提示
指派度量單位給指標時,務必指定正確的單位。如果隨後再更改單位,則更改可能無法生效。如需 CloudWatch 支援單位的完整清單,請參閱《Amazon CloudWatch API 參考MetricDatum》中的 。
配置指標篩選條件的指標值
建立指標篩選條件時,您可以定義篩選條件模式,並指定指標的值和預設值。您可以將指標值設置為數字、名稱標識符或數字識別碼。如果您未指定預設值,則當您的指標篩選條件找不到相符項目時, CloudWatch 不會報告資料。我們建議您指定預設值,即使該值為 0。設定預設值有助於更精確地 CloudWatch 報告資料,並防止 CloudWatch 彙總 Spotty 指標。 每分鐘 CloudWatch 彙總和報告指標值。
指標篩選條件在日誌事件中找到相符項目時,會根據指標值增加指標的計數。如果您的指標篩選條件找不到相符項目, 會 CloudWatch 報告指標的預設值。例如:假設有一個日誌群組,每分鐘發佈兩個記錄且指標值為 1,預設值為 0。如果指標篩選條件第一分鐘內,在兩個日誌記錄中找到相符項目,則該分鐘的指標值為 2。如果指標篩選條件第二分鐘內,未在任何一筆記錄中找到相符項目,則該分鐘的預設值為 0。如果將維度分配給指標篩選條件產生的指標,則無法為這些指標指定預設值。
您也可以設置指標篩選條件,使用從日誌事件中擷取的值 (而非靜態值) 來增加指標。如需詳細資訊,請參閱使用日誌事件中的值來增加指標的值。
從 JSON或空格分隔日誌事件中的值發佈具有指標的維度
您可以使用 CloudWatch 主控台或 AWS CLI 建立指標篩選條件,以發佈維度與 JSON和空格分隔日誌事件產生的指標。維度是名稱/值對,僅適用於以JSON空格分隔的篩選條件模式。您可以建立JSON以空格分隔的指標篩選條件,最多有三個維度。如需維度以及如何將維度指派給指標的詳細資訊,請參閱下列各節:
Amazon CloudWatch 使用者指南中的維度
範例:從 Apache 日誌擷取欄位,並在 Amazon Logs 使用者指南中指派維度 CloudWatch
重要
維度包含與自訂指標相同收費的值。為了避免費用出乎意料,請勿將高基數欄位指定為維度,例如 IPAddress
或 requestID
。
從日誌事件擷取的指標會以自訂指標收費。為了避免費用意外過高,如果指標篩選條件針對您已指定的維度,在一定時間內產生 1000 個不同的名稱/值組,Amazon 可能會停用該指標篩選條件。
您可以建立帳單警示,通知您預估的費用。如需詳細資訊,請參閱建立帳單警示以監控預估 AWS 費用。
下列範例包含程式碼片段,說明如何在JSON指標篩選條件中指定維度。
下列範例程式碼片段,描述如何在空格分隔的指標篩選條件中指定維度。
使用日誌事件中的值來增加指標的值
您可以建立指標篩選條件來發佈日誌事件中找到的數值。本節中的程序使用下列範例指標篩選條件,示範如何在JSON日誌事件中將數值發佈至指標。
{ $.latency = * } metricValue: $.latency
建立在日誌事件中發佈的值的指標篩選條件
在 開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/
。 -
在導覽窗格中,選擇 Logs (日誌),然後選擇 Log groups (日誌群組)。
-
選擇或建立日誌群組。
如需如何建立日誌群組的資訊,請參閱《Amazon Logs 使用者指南》中的在 CloudWatch 日誌中建立日誌群組。 CloudWatch
-
選擇 Actions (動作),然後選擇 Create metric filter (建立指標篩選條件)。
-
針對 Filter Pattern (篩選條件模式),輸入
{ $.latency = * }
,然後選擇 Next (下一步)。 -
針對 Metric Name (指標名稱),輸入 myMetric。
-
針對 Metric Value (指標值),輸入
$.latency
。 (選用) 針對 Default Value (預設值),輸入 0,然後選擇 Next (下一步)。
我們建議您指定預設值,即使該值為 0。設定預設值有助於更精確地 CloudWatch 報告資料,並防止 CloudWatch 彙總 Spotty 指標。 每分鐘 CloudWatch 彙總和報告指標值。
選擇 Create metric filter (建立指標篩選條件)。
範例指標篩選條件符合範例JSON日誌事件"latency"
中的 字詞,並將數值 50 發佈至指標 myMetric。
{
"latency": 50,
"requestType": "GET"
}