本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
示例:计算 HTTP 4xx 个验证码
与前面的示例一样,您可能需要监控 Web 服务访问日志并监控HTTP响应代码级别。例如,您可能想要监控所有 HTTP 400 级错误。但是,您可能不想为每一个返回代码指定新的指标筛选条件。
以下示例演示如何使用示例中的 Apache 访问日志格式创建包含访问日志中所有 400 级HTTP代码响应的示例:计数 HTTP 404 个代码指标。
使用 CloudWatch 控制台创建指标筛选器
-
打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/
。 -
在导航窗格中,选择 日志组。
-
选择 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 Details(指标详细信息)下,对于 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