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

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

创建 Contributor Insights 规则

您可创建规则以分析日志数据。可以评估任何采用 JSON 或常用日志格式 (CLF) 的日志。这包括遵循下列格式之一的自定义日志,以及来自 AWS 服务的日志,例如 Amazon VPC 流日志、Amazon Route 53 DNS 查询日志、Amazon ECS 容器日志,以及来自 AWS CloudTrail、Amazon SageMaker、Amazon RDS、AWS AppSync 和 API 网关 的日志。

在规则中指定字段名称或值时,所有匹配都区分大小写。

在创建规则时,您可以使用内置示例规则,也可以从头开始创建自己的规则。贡献者见解包括以下类型日志的示例规则:

  • Amazon API Gateway日志

  • Amazon Route 53 公共DNS查询日志

  • Amazon Route 53 解析器查询日志

  • CloudWatch 容器Insights日志

  • VPC 流日志

要使用内置示例规则创建规则,请执行以下操作:

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

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

  3. 选择 Create rule (创建规则)

  4. 选择 Sample rule (示例规则),然后从 Select sample rule (选择示例规则) 中选择规则。

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

  6. 对于 Log group(s) (日志组),选择您希望规则监控的日志组。您可以选择多达 20 个日志组。

    要选择名称以特定字符串开头的所有日志组,请选择 Select by prefix match (按前缀匹配选择) 并输入前缀。

    如果使用 Select by prefix match (按前缀匹配选择),您需要对有多少日志组将与您的前缀匹配并由规则进行分析心中有数。您需要为与规则匹配的每个日志事件支付费用。如果不小心搜索了超出预期数量的日志组,可能会产生意外费用。有关更多信息,请参阅 Amazon CloudWatch 定价

  7. 示例规则已填写 Fields (字段)Contribution (贡献)Filters (筛选条件)Aggregate on (聚合)字段。您可以根据需要对这些值进行调整。

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

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

  9. 选择创建

要从头开始创建规则,请执行以下操作:

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

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

  3. 选择 Create rule (创建规则)

  4. Create rule (创建规则) 向导中,选择 Custom rule (自定义规则)

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

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

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

    1. 对于 Log group(s) (日志组),选择您希望规则监控的日志组。您可以选择多达 20 个日志组。

      要选择名称以特定字符串开头的所有日志组,请选择 Select by prefix match (按前缀匹配选择) 并输入前缀。

      如果使用 Select by prefix match (按前缀匹配选择),您需要对有多少日志组将与您的前缀匹配并由规则进行分析心中有数。您需要为与规则匹配的每个日志事件支付费用。如果不小心搜索了超出预期数量的日志组,可能会产生意外费用。有关更多信息,请参阅 Amazon CloudWatch 定价

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

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

      有效条目为任何具有值的日志字段。示例包括 requestId, sourceIPaddress、和 containerID.

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

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

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

    5. (可选)如果要按数值日志字段的值(而不是日志事件中的出现次数)对贡献者进行排名,请使用 Contribution (贡献)Value (值) 字段。输入要进行求和以确定贡献者排名的数值日志字段的名称。例如,如果要查找通过网络发送最多字节的源 IP 地址,则可以添加 bytes 作为值,并假定 bytes 是日志事件中该字段的正确关键字。

    6. 如果要将结果筛选到较窄的范围,请选择 Add filter (添加筛选条件)。对于 Match (匹配),输入要作为筛选条件的日志字段。对于 Condition (条件),选择比较运算符,并输入要用于筛选此字段的值。可以将 * 用作值中的通配符。

      例如,如果您只想分析 Apache 日志中包含错误的日志事件,则可以为 Match (匹配) 指定 RESPONSE_CODE,为 Condition (条件) 指定 EqualTo,然后输入 5** 作为用于筛选的值。

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

    7. 对于 Aggregate on (聚合条件),选择 COUNTSUM。选择 COUNT 会使贡献者排名基于出现次数。选择 SUM 会使排名基于您为 Contribution (贡献)Value (值) 指定的字段值的总和。

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

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

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

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

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

  9. 选择创建

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

在 Contributor Insights 中启用、禁用或删除规则

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

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

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

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

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

查找日志字段

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

查找日志组中的日志字段

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

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

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

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