lookup - Amazon CloudWatch 日志

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

lookup

使用lookup查找表中的参考数据来丰富查询结果。查询表包含您上传到 Amazon Logs 的 CSV CloudWatch 数据。运行查询时,该lookup命令会将日志事件中的字段与查找表中的字段进行匹配,并将指定的输出字段附加到结果中。

对数据丰富场景使用查找表,例如 IDs将用户映射到用户详细信息、将产品代码映射到产品信息或将错误代码映射到错误描述。

创建和管理对照表

必须先创建对照表,然后才能在查询中使用该lookup命令。您可以通过 CloudWatch 控制台或使用 Amazon L CloudWatch ogs API 创建和管理查询表。

创建对照表(控制台)

  1. 打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格中,选择 “设置”,然后选择 “日志” 选项卡。

  3. 滚动到 “查找表”,然后选择 “管理”。

  4. 选择 “创建对照表”

  5. 输入查找表的名称。名称只能包含字母数字字符、连字符和下划线。

  6. (可选)输入描述。

  7. 上传 CSV 文件。该文件必须包含带有列名的标题行,使用 UTF-8 编码,且不超过 10 MB。

  8. (可选)指定用于加密表数据的密 AWS KMS 钥。

  9. 选择创建

创建查找表后,您可以在 L CloudWatch ogs Insights 查询编辑器中查看该表。选择 “查找表” 选项卡以浏览可用表及其字段。

要更新查找表,请选择该表,然后选择操作更新。上传新的 CSV 文件以替换所有现有内容。要删除对照表,请选择操作删除

注意

每个账户最多可以创建 100 个查询表 AWS 区域。CSV 文件的最大大小为 10 MB。您也可以使用 Amazon CloudWatch 日志 API 管理查询表。有关更多信息,请参阅 Amazon CloudWatch 日志 API 参考CreateLookupTable中的。

查找的查询语法

命令结构

下面显示了此命令的格式。

lookup table lookup-field as log-field [,...] output-mode output-field[,...]

该命令使用以下参数:

  • table-要使用的查找表的名称。

  • lookup-field-查找表中要与之匹配的字段。

  • log-field— 日志事件中要匹配的字段。匹配精确且区分大小写。

  • output-mode— 指定OUTPUT将输出字段添加到结果中。如果日志事件中已存在同名字段,则该字段将被覆盖。

  • output-field— 查找表中要添加到结果中的一个或多个字段。

示例:使用用户详细信息丰富日志事件

假设您有一个日志组,其中包含包含一个id字段的事件,以及一个user_dataidnameemail、和列命名的查找表department。以下查询使用查询表中的用户名、电子邮件和部门来丰富每个日志事件。

fields action, status, name, email, department | lookup user_data id OUTPUT name, email, department
示例:使用带聚合的查找

您可以将查找输出字段与聚合函数一起使用。以下查询使用用户详细信息丰富日志事件,然后统计按电子邮件地址分组的事件。

fields user_id, action, username, email, department | lookup user_data user_id OUTPUT username, email, department | stats count(*) by email
示例:使用带过滤器的查找

您可以根据查询返回的字段筛选结果。以下查询丰富了日志事件,然后筛选出仅显示来自特定部门的事件。

fields user_id, action | lookup user_data user_id OUTPUT username, email, department | filter department = "Engineering"