示例:对字词的出现次数进行计数 - Amazon CloudWatch Logs
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

示例:对字词的出现次数进行计数

日志事件经常包含您需要计数的重要消息,可能是关于操作的成功或失败的消息。例如,如果给定操作失败,可能发生错误,且错误记录到日志文件中。您可能需要监控这些日志条目以了解错误发生趋势。

在以下示例中,创建了一个指标筛选条件来监控“Error”这个词。策略已创建并添加到日志组 MyApp/message.log。对于每个包含“Error”的事件,CloudWatch Logs 都会将一个数据点发布到 MyApp/message.log 命名空间中值为“1”的 CloudWatch 自定义指标 ErrorCount。如果没有任何事件包含“Error”这个单词,则发布值 0。当在 CloudWatch 控制台中绘制该数据的图表时,请务必使用总计统计数据。

创建指标筛选条件后,您可以在 CloudWatch 控制台中查看指标。选择要查看的指标时,请选择与日志组名称匹配的指标命名空间。有关更多信息,请参阅查看可用指标

使用 CloudWatch 控制台创建指标筛选条件

  1. 访问 https://console.aws.amazon.com/cloudwatch/,打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Log groups(日志组)

  3. 选择日志组的名称。

  4. 选择 Actions(操作)Create metric filter(创建指标筛选条件)

  5. 对于 Filter pattern(筛选条件模式),输入 Error

    注意

    Filter Pattern(筛选条件模式)中的所有条目都区分大小写。

  6. (可选)要测试您的筛选条件模式,请在 Test Pattern(测试模式)下,输入一个或多个用于测试模式的日志事件。每个日志事件必须位于一行内,因为换行符用于在 Log event messages(日志事件消息)框中分隔日志事件。

  7. 选择 Next(下一步),然后在 Assign metric(分配指标)页上,对于 Filter Name(筛选条件名称),键入 MyAppErrorCount

  8. Metric Details(指标详细信息)下,为 Metric Namespace(指标命名空间)键入 MyNameSpace

  9. Metric Name(指标名称)键入 ErrorCount

  10. 确认 Metric Value(指标值) 为 1。这指定对于每个包含“Error”的日志事件,计数以 1 累加。

  11. 对于 Default Value(默认值),键入 0,然后选择 Next(下一步)

  12. 选择 Create metric filter(创建指标筛选条件)

使用 Amazon CLI 创建指标筛选条件

在命令提示符处,运行以下命令:

aws logs put-metric-filter \ --log-group-name MyApp/message.log \ --filter-name MyAppErrorCount \ --filter-pattern 'Error' \ --metric-transformations \ metricName=ErrorCount,metricNamespace=MyNamespace,metricValue=1,defaultValue=0

您可以通过在消息中发布包含“Error”这个词的事件来测试此新策略。

使用 Amazon CLI 发布事件

在命令提示符处,运行以下命令。注意,模式区分大小写。

aws logs put-log-events \ --log-group-name MyApp/access.log --log-stream-name TestStream1 \ --log-events \ timestamp=1394793518000,message="This message contains an Error" \ timestamp=1394793528000,message="This message also contains an Error"