選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

指標篩選條件的篩選條件模式語法 - Amazon CloudWatch Logs

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

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

指標篩選條件的篩選條件模式語法

注意

指標篩選條件如何區別 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以空格分隔的指標篩選條件,最多有三個維度。如需維度以及如何將維度指派給指標的詳細資訊,請參閱下列各節:

重要

維度包含與自訂指標相同收費的值。為了避免費用出乎意料,請勿將高基數欄位指定為維度,例如 IPAddressrequestID

從日誌事件擷取的指標會以自訂指標收費。為了避免費用意外過高,如果指標篩選條件針對您已指定的維度,在一定時間內產生 1000 個不同的名稱/值組,Amazon 可能會停用該指標篩選條件。

您可以建立帳單警示,通知您預估的費用。如需詳細資訊,請參閱建立帳單警示以監控預估 AWS 費用

下列範例包含程式碼片段,說明如何在JSON指標篩選條件中指定維度。

Example: JSON log event
{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ {"name": "a", "id": 1 }, {"name": "b", "id": 2 } ] }
注意

如果您使用範例JSON日誌事件測試範例指標篩選條件,則必須在單行中輸入範例JSON日誌。

Example: Metric filter

每當JSON日誌事件包含 屬性 eventType和 時,指標篩選條件就會遞增指標"sourceIPAddress"

{ $.eventType = "*" && $.sourceIPAddress != 123.123.* }

建立JSON指標篩選條件時,您可以將指標篩選條件中的任何屬性指定為維度。例如:若要設定 eventType 作為維度,請使用下列內容:

"eventType" : $.eventType

指標範例包含一個名為 "eventType" 的維度,其維度值在日誌事件範例中為 "UpdateTrail"

下列範例包含程式碼片段,說明如何在JSON指標篩選條件中指定維度。

Example: JSON log event
{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ {"name": "a", "id": 1 }, {"name": "b", "id": 2 } ] }
注意

如果您使用範例JSON日誌事件測試範例指標篩選條件,則必須在單行中輸入範例JSON日誌。

Example: Metric filter

每當JSON日誌事件包含 屬性 eventType和 時,指標篩選條件就會遞增指標"sourceIPAddress"

{ $.eventType = "*" && $.sourceIPAddress != 123.123.* }

建立JSON指標篩選條件時,您可以將指標篩選條件中的任何屬性指定為維度。例如:若要設定 eventType 作為維度,請使用下列內容:

"eventType" : $.eventType

指標範例包含一個名為 "eventType" 的維度,其維度值在日誌事件範例中為 "UpdateTrail"

{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ {"name": "a", "id": 1 }, {"name": "b", "id": 2 } ] }
注意

如果您使用範例JSON日誌事件測試範例指標篩選條件,則必須在單行中輸入範例JSON日誌。

下列範例程式碼片段,描述如何在空格分隔的指標篩選條件中指定維度。

Example: Space-delimited log event
127.0.0.1 Prod frank [10/Oct/2000:13:25:15 -0700] "GET /index.html HTTP/1.0" 404 1534
Example: Metric filter
[ip, server, username, timestamp, request, status_code, bytes > 1000]

當空格分隔的日誌事件包含篩選條件中指定的任何欄位時,該指標篩選條件會增加指標。例如:指標篩選條件在空格分隔的日誌事件範例中查找下列欄位和值。

{ "$bytes": "1534", "$status_code": "404", "$request": "GET /index.html HTTP/1.0", "$timestamp": "10/Oct/2000:13:25:15 -0700", "$username": "frank", "$server": "Prod", "$ip": "127.0.0.1" }

當您建立空格分隔的指標篩選條件時,您可以將指標篩選條件中的任何欄位指定為維度。例如:若要設定 server 作為維度,請使用下列內容:

"server" : $server

指標篩選條件範例中有一個名為 server 的維度,其維度值在日誌事件範例中為 "Prod"

Example: Match terms with AND (&&) and OR (||)

您可以使用邏輯運算子 AND("&") 和 OR ("||") 來建立包含條件的空間分隔指標篩選條件。下列指標篩選條件會傳回日誌事件,其中事件中的第一個字詞是 ERROR或任何 的超字串WARN。

[w1=ERROR || w1=%WARN%, w2]

下列範例程式碼片段,描述如何在空格分隔的指標篩選條件中指定維度。

Example: Space-delimited log event
127.0.0.1 Prod frank [10/Oct/2000:13:25:15 -0700] "GET /index.html HTTP/1.0" 404 1534
Example: Metric filter
[ip, server, username, timestamp, request, status_code, bytes > 1000]

當空格分隔的日誌事件包含篩選條件中指定的任何欄位時,該指標篩選條件會增加指標。例如:指標篩選條件在空格分隔的日誌事件範例中查找下列欄位和值。

{ "$bytes": "1534", "$status_code": "404", "$request": "GET /index.html HTTP/1.0", "$timestamp": "10/Oct/2000:13:25:15 -0700", "$username": "frank", "$server": "Prod", "$ip": "127.0.0.1" }

當您建立空格分隔的指標篩選條件時,您可以將指標篩選條件中的任何欄位指定為維度。例如:若要設定 server 作為維度,請使用下列內容:

"server" : $server

指標篩選條件範例中有一個名為 server 的維度,其維度值在日誌事件範例中為 "Prod"

Example: Match terms with AND (&&) and OR (||)

您可以使用邏輯運算子 AND("&") 和 OR ("||") 來建立包含條件的空間分隔指標篩選條件。下列指標篩選條件會傳回日誌事件,其中事件中的第一個字詞是 ERROR或任何 的超字串WARN。

[w1=ERROR || w1=%WARN%, w2]
127.0.0.1 Prod frank [10/Oct/2000:13:25:15 -0700] "GET /index.html HTTP/1.0" 404 1534

使用日誌事件中的值來增加指標的值

您可以建立指標篩選條件來發佈日誌事件中找到的數值。本節中的程序使用下列範例指標篩選條件,示範如何在JSON日誌事件中將數值發佈至指標。

{ $.latency = * } metricValue: $.latency
建立在日誌事件中發佈的值的指標篩選條件
  1. 在 開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/

  2. 在導覽窗格中,選擇 Logs (日誌),然後選擇 Log groups (日誌群組)。

  3. 選擇或建立日誌群組。

    如需如何建立日誌群組的資訊,請參閱《Amazon Logs 使用者指南》中的在 CloudWatch 日誌中建立日誌群組 CloudWatch

  4. 選擇 Actions (動作),然後選擇 Create metric filter (建立指標篩選條件)。

  5. 針對 Filter Pattern (篩選條件模式),輸入 { $.latency = * },然後選擇 Next (下一步)。

  6. 針對 Metric Name (指標名稱),輸入 myMetric

  7. 針對 Metric Value (指標值),輸入 $.latency

  8. (選用) 針對 Default Value (預設值),輸入 0,然後選擇 Next (下一步)。

    我們建議您指定預設值,即使該值為 0。設定預設值有助於更精確地 CloudWatch 報告資料,並防止 CloudWatch 彙總 Spotty 指標。 每分鐘 CloudWatch 彙總和報告指標值。

  9. 選擇 Create metric filter (建立指標篩選條件)

範例指標篩選條件符合範例JSON日誌事件"latency"中的 字詞,並將數值 50 發佈至指標 myMetric

{ "latency": 50, "requestType": "GET" }
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。