在 CloudWatch 中创建 Contributor Insights 规则
您可创建规则以分析日志数据。可以评估任何采用 JSON 或常用日志格式 (CLF) 的日志。这包括遵循这些格式之一的自定义日志以及来自 Amazon 服务的日志,例如 Amazon VPC 流日志、Amazon Route 53 DNS 查询日志、Amazon ECS 容器日志以及来自 Amazon CloudTrail、Amazon SageMaker AI、Amazon RDS、Amazon AppSync 和 API Gateway 的日志。
在规则中指定字段名称或值时,所有匹配都区分大小写。
在创建规则时,您可以使用内置示例规则,也可以从 Scratch 创建自己的规则。Contributor Insights 包括以下日志类型的示例规则:
-
Amazon API Gateway 日志
-
Amazon Route 53 公有 DNS 查询日志
-
Amazon Route 53 resolver 查询日志
-
CloudWatch Container Insights 日志
-
VPC 流日志
如果您登录的账户在 CloudWatch 跨账户可观测性中设置为监控账户,则除了为该监控账户中的日志组创建规则外,您可以为与该监控账户关联的源账户中的日志组创建 Contributor Insights 规则。您还可以设置单个规则来监控不同账户中的日志组。有关更多信息,请参阅 CloudWatch 跨账户可观测性。
重要
当您向用户授予 cloudwatch:PutInsightRule
权限时,默认情况下,该用户可以创建一个规则来评估 CloudWatch Logs 中的任何日志组。您可以添加 IAM 策略条件,以限制用户的这些权限,使其包含和排除特定的日志组。有关更多信息,请参阅 使用条件键限制 Contributor Insights 用户对日志组的访问。
要使用内置示例规则创建规则,请执行以下操作:
通过 https://console.aws.amazon.com/cloudwatch/
打开 CloudWatch 控制台。 在导航窗格中,选择日志、Contributor Insights。
选择创建规则。
-
对于 Select log group(s)(选择日志组),请选择您希望您的规则监控的日志组。您可以选择多达 20 个日志组。如果您登录的账户是为 CloudWatch 跨账户可观测性设置的监控账户,则可以选择源账户中的日志组,也可以设置单个规则来分析不同账户中的日志组。
-
(可选)要选择名称以特定字符串开头的所有日志组,请选择 Select by prefix match(按前缀匹配选择)下拉菜单,然后输入前缀。如果这是监控账户,则可以选择要在其中进行搜索的账户,否则将选择所有账户。
注意
您需要为与您的规则匹配的每个日志事件支付费用。如果您选择 Select by prefix match(按前缀匹配选择)下拉菜单,请注意前缀可以匹配多少个日志组。如果您搜索了超出预期数量的日志组,可能会产生意外费用。有关更多信息,请参阅 Amazon CloudWatch 定价
。 -
对于 Rule type(规则类型),选择 Sample rule(示例规则)。然后选择 Select sample rule(选择示例规则),并选择相应的规则。
-
示例规则已填写 Log format(日志格式)、Contribution(贡献)、Filters(筛选条件)和 Aggregate on(聚合)字段。您可以根据需要对这些值进行调整。
选择下一步。
为 Rule name (规则名称) 输入一个名称。有效字符包括 A-Z、a-z、0-9、(连字符)、(下划线)和(半角句点)。
选择是创建处于已禁用状态还是已启用状态的规则。如果您选择启用规则,它将立即开始对您的数据进行分析。运行启用的规则时,您需要支付费用。有关更多信息,请参阅 Amazon CloudWatch 定价
。 Contributor Insights 仅在创建规则后分析新的日志事件。规则无法处理之前已由 CloudWatch Logs 处理的日志事件。
(可选)对于 Tags(标签),请添加一个或多个键/值对作为此规则的标签。标签可帮助您识别和组织 Amazon 资源并跟踪 Amazon 成本。有关更多信息,请参阅 标记 Amazon CloudWatch 资源。
选择创建。
要从 Scratch 创建规则,请执行以下操作:
通过 https://console.aws.amazon.com/cloudwatch/
打开 CloudWatch 控制台。 在导航窗格中,选择日志、Contributor Insights。
选择创建规则。
-
对于 Select log group(s)(选择日志组),请选择您希望您的规则监控的日志组。您可以选择多达 20 个日志组。如果您登录的账户是为 CloudWatch 跨账户可观测性设置的监控账户,则可以选择源账户中的日志组,也可以设置单个规则来分析不同账户中的日志组。
-
(可选)要选择名称以特定字符串开头的所有日志组,请选择 Select by prefix match(按前缀匹配选择)下拉菜单,然后输入前缀。
注意
您需要为与您的规则匹配的每个日志事件支付费用。如果您选择 Select by prefix match(按前缀匹配选择)下拉菜单,请注意前缀可以匹配多少个日志组。如果您搜索了超出预期数量的日志组,可能会产生意外费用。有关更多信息,请参阅 Amazon CloudWatch 定价
。 -
对于 Rule type(规则类型),请选择 Custom rule(自定义规则)。
对于 Log format (日志格式),请选择 JSON 或 CLF。
您可以通过以下方式完成规则的创建过程:使用向导,或选择 Syntax (语法) 选项卡并手动指定规则语法。
要继续使用此向导,请执行以下操作:
对于 Contribution (贡献)、Key (键),请输入要报告的贡献者类型。此报告将显示该贡献者类型的前 N 个值。
有效条目为任何具有值的日志字段。示例包括
requestId
、sourceIPaddress
和containerID
。有关查找特定日志组中日志的日志字段名称的信息,请参阅查找日志字段。
大于 1 KB 的键将被截断至 1KB。
(可选)选择 Add new key(添加新键)以添加更多键。可以在规则中包含最多四个键。如果输入多个键,则报告中的贡献者将由键的唯一值组合定义。例如,如果您指定三个键,则三个键的每个唯一值组合将被计为一个独特贡献者。
(可选)如果要添加筛选条件以缩小结果范围,请选择 Add filter(添加筛选条件)。对于 Match(匹配),输入要作为筛选条件的日志字段的名称。对于 Condition(条件),选择比较运算符,并输入要作为筛选条件的值。
您可以在规则中最多添加 4 个筛选条件。多个筛选条件通过 AND 逻辑联接,因此,仅返回与所有筛选条件都匹配的日志事件。
注意
遵循比较运算符的数组(例如
In
、NotIn
或者StartsWith
)可以包含最多 10 个字符串值。有关 Contributor Insights 规则语法的更多信息,请参阅 CloudWatch 中的 Contributor Insights 规则语法。对于 Aggregate on(聚合),选择 Count(计数)或 Sum(总计)。选择 Count(计数)会使贡献者排名基于出现次数。选择 Sum(总计)会使排名基于您为 Contribution(贡献)、Value(值)指定的字段值的总和。
要输入规则作为 JSON 对象而不是使用此向导,请执行以下操作:
选择 Syntax (语法) 选项卡。
在 Rule body (规则正文) 中,输入规则的 JSON 对象。有关规则语法的信息,请参阅 CloudWatch 中的 Contributor Insights 规则语法。
选择下一步。
为 Rule name (规则名称) 输入一个名称。有效字符为 A-Z、a-z、0-9、“-”、“_”和“.”。
选择是创建处于已禁用状态还是已启用状态的规则。如果您选择启用规则,它将立即开始对您的数据进行分析。运行启用的规则时,您需要支付费用。有关更多信息,请参阅 Amazon CloudWatch 定价
。 Contributor Insights 仅在创建规则后分析新的日志事件。规则无法处理之前已由 CloudWatch Logs 处理的日志事件。
(可选)对于 Tags(标签),请添加一个或多个键/值对作为此规则的标签。标签可帮助您识别和组织 Amazon 资源并跟踪 Amazon 成本。有关更多信息,请参阅 标记 Amazon CloudWatch 资源。
选择下一步。
确认您输入的设置,然后选择 Create rule(创建规则)。
可以禁用、启用或删除已创建的规则。
在 Contributor Insights 中启用、禁用或删除规则
通过 https://console.aws.amazon.com/cloudwatch/
打开 CloudWatch 控制台。 在导航窗格中,选择日志、Contributor Insights。
在规则列表中,选中单个规则旁边的复选框。
内置规则由 Amazon 服务创建,无法编辑、禁用或删除这些规则。
选择 Actions (操作),然后选择所需选项。
查找日志字段
创建规则时,您需要知道日志组的日志条目中的字段名称。
查找日志组中的日志字段
通过 https://console.aws.amazon.com/cloudwatch/
打开 CloudWatch 控制台。 在导航窗格中的 Logs (日志) 下,选择 Insights (见解)。
-
在查询编辑器上方,选择要查询的一个或多个日志组。
当您选择日志组时,CloudWatch Logs Insights 会自动检测日志组数据中的字段,并将其显示在右侧窗格中的 Discovered fields(发现的字段)中。