本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
範例:Count HTTP 4xx 代碼
在上述範例中,您可能想要監控 web 服務存取日誌和監控 HTTP 回應碼層級。例如,您可能想要監控所有 HTTP 400 層級錯誤。不過,您可能不會想要為每個傳回程式碼指定新指標篩選條件。
以下範例示範如何建立指標,其中包含使用從 範例:Count HTTP 404 代碼 範例之 Apache 存取日誌格式來自存取日誌的所有 400 層級 HTTP 程式碼回應。
使用 CloudWatch 主控台建立量度篩選
-
請在以下位置開啟 CloudWatch 主控台。
https://console.aws.amazon.com/cloudwatch/ -
在導覽窗格中,選擇 Log groups (日誌群組)。
-
選擇 Apache 伺服器的日誌群組名稱。
-
選擇
Actions
> Create metric filter (建立指標篩選條件)。 -
針對 Filter Pattern (篩選條件模式),輸入
[ip, id, user, timestamp, request, status_code=4*, size]
。 -
(選用) 若要測試篩選條件模式,請在 Test Pattern (測試模式) 下方,輸入一個或多個日誌事件,用以測試模式。每個日誌事件都必須在一行內,因為 Log event messages (日誌事件訊息) 方塊中使用換行來分隔日誌事件。
-
選擇 Next (下一步),然後針對 Filter Name (篩選條件名稱),輸入
HTTP4xxErrors
。 -
在 Metric (指標詳細資訊) 下的 Metric Namespace (指標命名空間) 中,輸入
MyNameSpace
。 -
針對 Metric name (指標名稱),輸入 HTTP4xxErrors。
針對 Metric value (指標值),輸入 1。這會指定針對每個包含「4xx 錯誤」的日誌事件以 1 的方式遞增計數。
針對 Default value (預設值),輸入 0,然後選擇 Next (下一步)。
選擇 Create metric filter (建立指標篩選條件)。
使用建立度量篩選 AWS CLI
在命令提示中,執行下列命令:
aws logs put-metric-filter \ --log-group-name MyApp/access.log \ --filter-name HTTP4xxErrors \ --filter-pattern '[ip, id, user, timestamp, request, status_code=4*, size]' \ --metric-transformations \ metricName=HTTP4xxErrors,metricNamespace=MyNamespace,metricValue=1,defaultValue=0
您可以使用 put-event 呼叫中的以下資料來測試這個規則。如果您沒有在之前的範例中移除監控規則,您將會產生兩種不同的指標。
127.0.0.1 - - [24/Sep/2013:11:49:52 -0700] "GET /index.html HTTP/1.1" 404 287 127.0.0.1 - - [24/Sep/2013:11:49:52 -0700] "GET /index.html HTTP/1.1" 404 287 127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /~test/ HTTP/1.1" 200 3 127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /favicon.ico HTTP/1.1" 404 308 127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /favicon.ico HTTP/1.1" 404 308 127.0.0.1 - - [24/Sep/2013:11:51:34 -0700] "GET /~test/index.html HTTP/1.1" 200 3