模式 - Amazon CloudWatch 日志
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

模式

使用 pattern 自动将您的日志数据划分为不同模式。

模式是在日志字段中重复出现的共有的文本结构。您可以使用pattern来显示新出现的趋势、监控已知错误以及识别频繁发生或成本高昂的日志行。 CloudWatch Logs Insights 还提供了一种控制台体验,您可以使用它来查找和进一步分析日志事件中的模式。有关更多信息,请参阅 模式分析

由于该pattern命令会自动识别常见模式,因此您可以将其用作搜索和分析日志的起点。您还可以将 pattern filter parse sort 命令结合使用,在更精细的查询中识别模式。

模式命令输入

pattern 命令需要以下输入之一:@message 字段、使用  parse 命令创建的提取字段或使用一个或多个字符串函数操作的字符串。

模式命令输出

pattern 命令将生成以下输出:

  • @pattern:在日志事件字段中重复出现的共有的文本结构。在模式内变化的字段(例如请求 ID 或时间戳)由 <*> 表示。例如,[INFO] Request time: <*> ms 是日志消息 [INFO] Request time: 327 ms 的潜在输出。

  • @ratio:选定时间段的日志事件与符合已确定模式的指定日志组的比率。例如,如果所选日志组和时间段中有一半的日志事件符合模式,则 @ratio 返回 0.50

  • @sampleCount:选定时间段的日志事件与符合已确定模式的指定日志组的数量。

  • @severityLabel:日志严重性或级别,表示日志中包含的信息类型。例如,ErrorWarningInfoDebug

示例

以下命令识别选定时间范围内指定日志组中具有相似结构的日志,并按模式和计数对其进行分组

pattern @message

pattern 命令可以与  filter 命令结合使用

filter @message like /ERROR/ | pattern @message

pattern 命令可以与  parse 和  sort 命令结合使用

filter @message like /ERROR/ | parse @message 'Failed to do: *' as cause | pattern cause | sort @sampleCount asc