本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
指标筛选条件的筛选条件模式语法
注意
指标筛选器有何不同 CloudWatch 日志 Insights 查询
指标筛选器与 CloudWatch Logs Insights 查询的不同之处在于,每次找到匹配的日志时,都会将指定的数值添加到指标筛选器中。有关更多信息,请参阅 为指标筛选条件配置指标值。
有关如何使用 Amazon Logs Insights 查询语言查询 CloudWatch 日志组的信息,请参阅CloudWatch 日志见解语言查询语法。
通用筛选条件模式示例
有关适用于指标筛选条件以及订阅筛选条件和筛选日志事件的通用筛选条件模式语法的更多信息,请参阅指标筛选条件、订阅筛选条件和筛选日志事件的筛选条件模式语法,其中包括以下示例:
支持的正则表达式(regex)语法
匹配非结构化日志事件中的字词
在JSON日志事件中匹配术语
匹配以空格分隔的日志事件中的字词
指标筛选器允许您搜索和筛选进入日志的 CloudWatch 日志数据,从筛选的日志数据中提取指标观察结果,并将数据点转换为 CloudWatch 日志量度。当日志数据发送到日志时,您可以定义要 CloudWatch 在日志数据中查找的术语和模式。指标筛选条件将分配给日志组,分配给日志组的所有筛选条件都将应用于其日志流。
指标筛选条件与字词匹配时,它会通过指定的数值来增加指标的计数。例如,您可以创建一个指标筛选器,用于计算该词在日志事件中ERROR出现的次数。
您可以为指标分配度量单位和维度。例如,如果您创建了一个用于计算该词在日志事件中ERROR出现次数的指标筛选器,则可以指定一个维度,该维度用于显示包含该词的日志事件总数,ERROR并按报告的错误代码筛选数据。ErrorCode
提示
为指标分配度量单位时,请确保指定正确的单位。如果稍后更改单位,则您的更改可能无法生效。有关 CloudWatch 支持的商品的完整列表,请参阅 Amazon CloudWatch API 参考MetricDatum中的。
为指标筛选条件配置指标值
创建指标筛选条件时,您可以定义筛选条件模式并指定指标的值和原定设置值。您可以将指标值设置为数字、命名标识符或数字标识符。如果您未指定默认值,则当您的指标筛选条件未找到匹配项时,将 CloudWatch 不会报告数据。即使该值为 0,也建议您指定原定设置值。设置默认值有助于更准确地 CloudWatch 报告数据,并 CloudWatch 防止聚合参差不齐的指标。 CloudWatch 每分钟汇总和报告指标值。
当您的指标筛选条件在录入事件中找到匹配项时,它会按指标值增加指标的计数。如果您的指标筛选条件未找到匹配项,则会 CloudWatch 报告该指标的默认值。例如,您的日志组每分钟发布两条记录,指标值为 1,原定设置值为 0。如果指标筛选条件在第一分钟内的两个日志记录中均找到了匹配项,则该分钟的指标值为 2。如果指标筛选条件在第二分钟内未找到任何记录中的匹配项,则该分钟的原定设置值为 0。如果将维度分配给指标筛选条件生成的指标,则无法为这些指标指定原定设置值。
您还可以设置指标筛选条件,使用从录入事件中提取的值而不是静态值来增加指标。有关更多信息,请参阅 使用录入事件中的值来增加指标的值。
根据日志事件中的值JSON或以空格分隔的日志事件发布带有指标的维度
您可以使用 CloudWatch 控制台或创建指标筛选器 AWS CLI,以发布包含以空格分隔的日志事件生成的指标的维度。JSON维度是名称/值值对,仅适用于以空格分隔JSON的筛选模式。您可以创建JSON最多包含三个维度的以空格分隔的指标筛选条件。有关维度的更多信息以及有关如何将维度分配给指标的信息,请参阅以下各部分:
Amazon CloudWatch 用户指南中的@@ 尺寸
重要
维度包含收集费用的值,与自定义指标相同。为了防止意外费用,请不要将高基数字段(例如 IPAddress
或 requestID
)指定为维度。
从录入事件中提取的指标按自定义指标收费。为了防止意外的高额费用,如果指标筛选条件为在一定时间内指定的维度生成 1000 个不同的名称/值对,则 Amazon 可能会禁用该指标筛选条件。
您可以创建账单告警,通知您预估费用。有关更多信息,请参阅创建账单警报以监控您的预估 AWS 费用。
以下示例包含描述如何在JSON指标筛选器中指定维度的代码片段。
以下示例包含描述如何在以空格分隔的指标筛选条件中指定维度的代码段。
使用录入事件中的值来增加指标的值
您可以创建指标筛选条件,该筛选条件会发布在录入事件中找到的数字值。本节中的过程使用以下示例指标筛选器来展示如何将JSON日志事件中的数值发布到指标。
{ $.latency = * } metricValue: $.latency
创建在录入事件中发布值的指标筛选条件
打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/
。 -
在左侧导航窗格中,选择 Logs(日志),然后选择 Log groups(日志组)。
-
选择或创建日志组。
有关如何创建日志组的信息,请参阅 Amazon 日志用户指南中的 CloudWatch 日志中的创建 CloudWatch 日志组。
-
选择 Actions(操作),然后选择 Create metric filter(创建指标筛选条件)。
-
对于 Filter Pattern(筛选条件模式),输入
{ $.latency = * }
,然后选择 Next(下一步)。 -
对于 Metric Name(指标名称),输入 myMetric。
-
对于 Metric Value(指标值),输入
$.latency
。 (可选)对于 Default Value(原定设置值),输入 0,然后选择 Next(下一步)。
即使该值为 0,也建议您指定原定设置值。设置默认值有助于更准确地 CloudWatch 报告数据,并 CloudWatch 防止聚合参差不齐的指标。 CloudWatch 每分钟汇总和报告指标值。
选择 Create metric filter(创建指标筛选条件)。
示例指标筛选条件与示例JSON日志事件"latency"
中的术语匹配,并向该指标发布数值 50 myMetric。
{
"latency": 50,
"requestType": "GET"
}