在 CloudWatch 中创建 Contributor Insights 规则 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在 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 用户对日志组的访问

要使用内置示例规则创建规则,请执行以下操作:
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择日志Contributor Insights

  3. 选择创建规则

  4. 对于 Select log group(s)(选择日志组),请选择您希望您的规则监控的日志组。您可以选择多达 20 个日志组。如果您登录的账户是为 CloudWatch 跨账户可观测性设置的监控账户,则可以选择源账户中的日志组,也可以设置单个规则来分析不同账户中的日志组。

    1. (可选)要选择名称以特定字符串开头的所有日志组,请选择 Select by prefix match(按前缀匹配选择)下拉菜单,然后输入前缀。如果这是监控账户,则可以选择要在其中进行搜索的账户,否则将选择所有账户。

    注意

    您需要为与您的规则匹配的每个日志事件支付费用。如果您选择 Select by prefix match(按前缀匹配选择)下拉菜单,请注意前缀可以匹配多少个日志组。如果您搜索了超出预期数量的日志组,可能会产生意外费用。有关更多信息,请参阅 Amazon CloudWatch 定价

  5. 对于 Rule type(规则类型),选择 Sample rule(示例规则)。然后选择 Select sample rule(选择示例规则),并选择相应的规则。

  6. 示例规则已填写 Log format(日志格式)、Contribution(贡献)、Filters(筛选条件)和 Aggregate on(聚合)字段。您可以根据需要对这些值进行调整。

  7. 选择下一步

  8. Rule name (规则名称) 输入一个名称。有效字符包括 A-Z、a-z、0-9、(连字符)、(下划线)和(半角句点)。

  9. 选择是创建处于已禁用状态还是已启用状态的规则。如果您选择启用规则,它将立即开始对您的数据进行分析。运行启用的规则时,您需要支付费用。有关更多信息,请参阅 Amazon CloudWatch 定价

    Contributor Insights 仅在创建规则后分析新的日志事件。规则无法处理之前已由 CloudWatch Logs 处理的日志事件。

  10. (可选)对于 Tags(标签),请添加一个或多个键/值对作为此规则的标签。标签可帮助您识别和组织 Amazon 资源并跟踪 Amazon 成本。有关更多信息,请参阅 标记 Amazon CloudWatch 资源

  11. 选择创建

要从 Scratch 创建规则,请执行以下操作:
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择日志Contributor Insights

  3. 选择创建规则

  4. 对于 Select log group(s)(选择日志组),请选择您希望您的规则监控的日志组。您可以选择多达 20 个日志组。如果您登录的账户是为 CloudWatch 跨账户可观测性设置的监控账户,则可以选择源账户中的日志组,也可以设置单个规则来分析不同账户中的日志组。

    1. (可选)要选择名称以特定字符串开头的所有日志组,请选择 Select by prefix match(按前缀匹配选择)下拉菜单,然后输入前缀。

    注意

    您需要为与您的规则匹配的每个日志事件支付费用。如果您选择 Select by prefix match(按前缀匹配选择)下拉菜单,请注意前缀可以匹配多少个日志组。如果您搜索了超出预期数量的日志组,可能会产生意外费用。有关更多信息,请参阅 Amazon CloudWatch 定价

  5. 对于 Rule type(规则类型),请选择 Custom rule(自定义规则)。

  6. 对于 Log format (日志格式),请选择 JSONCLF

  7. 您可以通过以下方式完成规则的创建过程:使用向导,或选择 Syntax (语法) 选项卡并手动指定规则语法。

    要继续使用此向导,请执行以下操作:

    1. 对于 Contribution (贡献)Key (键),请输入要报告的贡献者类型。此报告将显示该贡献者类型的前 N 个值。

      有效条目为任何具有值的日志字段。示例包括 requestIdsourceIPaddresscontainerID

      有关查找特定日志组中日志的日志字段名称的信息,请参阅查找日志字段

      大于 1 KB 的键将被截断至 1KB。

    2. (可选)选择 Add new key(添加新键)以添加更多键。可以在规则中包含最多四个键。如果输入多个键,则报告中的贡献者将由键的唯一值组合定义。例如,如果您指定三个键,则三个键的每个唯一值组合将被计为一个独特贡献者。

    3. (可选)如果要添加筛选条件以缩小结果范围,请选择 Add filter(添加筛选条件)。对于 Match(匹配),输入要作为筛选条件的日志字段的名称。对于 Condition(条件),选择比较运算符,并输入要作为筛选条件的值。

      您可以在规则中最多添加 4 个筛选条件。多个筛选条件通过 AND 逻辑联接,因此,仅返回与所有筛选条件都匹配的日志事件。

      注意

      遵循比较运算符的数组(例如 InNotIn 或者 StartsWith)可以包含最多 10 个字符串值。有关 Contributor Insights 规则语法的更多信息,请参阅 CloudWatch 中的 Contributor Insights 规则语法

    4. 对于 Aggregate on(聚合),选择 Count(计数)Sum(总计)。选择 Count(计数)会使贡献者排名基于出现次数。选择 Sum(总计)会使排名基于您为 Contribution(贡献)Value(值)指定的字段值的总和。

  8. 要输入规则作为 JSON 对象而不是使用此向导,请执行以下操作:

    1. 选择 Syntax (语法) 选项卡。

    2. Rule body (规则正文) 中,输入规则的 JSON 对象。有关规则语法的信息,请参阅 CloudWatch 中的 Contributor Insights 规则语法

  9. 选择下一步

  10. Rule name (规则名称) 输入一个名称。有效字符为 A-Z、a-z、0-9、“-”、“_”和“.”。

  11. 选择是创建处于已禁用状态还是已启用状态的规则。如果您选择启用规则,它将立即开始对您的数据进行分析。运行启用的规则时,您需要支付费用。有关更多信息,请参阅 Amazon CloudWatch 定价

    Contributor Insights 仅在创建规则后分析新的日志事件。规则无法处理之前已由 CloudWatch Logs 处理的日志事件。

  12. (可选)对于 Tags(标签),请添加一个或多个键/值对作为此规则的标签。标签可帮助您识别和组织 Amazon 资源并跟踪 Amazon 成本。有关更多信息,请参阅 标记 Amazon CloudWatch 资源

  13. 选择下一步

  14. 确认您输入的设置,然后选择 Create rule(创建规则)。

可以禁用、启用或删除已创建的规则。

在 Contributor Insights 中启用、禁用或删除规则
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择日志Contributor Insights

  3. 在规则列表中,选中单个规则旁边的复选框。

    内置规则由 Amazon 服务创建,无法编辑、禁用或删除这些规则。

  4. 选择 Actions (操作),然后选择所需选项。

查找日志字段

创建规则时,您需要知道日志组的日志条目中的字段名称。

查找日志组中的日志字段
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中的 Logs (日志) 下,选择 Insights (见解)

  3. 在查询编辑器上方,选择要查询的一个或多个日志组。

    当您选择日志组时,CloudWatch Logs Insights 会自动检测日志组数据中的字段,并将其显示在右侧窗格中的 Discovered fields(发现的字段)中。