教程:运行和修改示例查询 - Amazon CloudWatch Logs
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

教程:运行和修改示例查询

以下教程帮助您开始使用 CloudWatch Logs Insights。您运行示例查询,然后查看如何修改并重新运行它。

要运行查询,必须已在 CloudWatch Logs 中存储日志。如果您已在使用 CloudWatch Logs 并设置了日志组和日志流,那么您已就绪可以开始了。如果您使用服务(如Amazon CloudTrail、Amazon Route 53 或亚马逊 VPC,您已设置来自这些服务的日志以转到 CloudWatch Logs。有关将日志发送到 CloudWatch Logs 的更多信息,请参阅开始使用 CloudWatch Logs.

CloudWatch Logs Insights 中的查询返回日志事件中的一组字段,或返回对日志事件执行的数学聚合或其他操作的结果。本教程演示了一个查询,该查询返回您的日志事件列表。

运行示例查询

首先运行一个示例查询。

运行 CloudWatch Logs Insights 示例查询

  1. 通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

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

    页面顶部附近是查询编辑器。当您首次打开 CloudWatch Logs 见解时,此框包含一个默认查询,它返回 20 个最近的日志事件。

  3. 在查询编辑器上方选择要查询的一个或多个日志组。为了帮助查找日志组,您可以在搜索栏中输入文本,CloudWatch Logs 会在搜索栏中显示匹配的日志组。

    当您选择日志组时,CloudWatch Logs Insights 会自动检测日志组数据中的字段。要查看这些搜索到的字段,请选择页面右侧的字段

  4. (可选)使用右上角的时间选择器选择要查询的时间段。

  5. 选择运行

    显示此查询的结果。在本示例中,结果是任何类型的最新 20 个日志事件。

    CloudWatch Logs 还显示此日志组中的日志事件随时间变化的条形图。该条形图显示与您的查询和时间范围匹配的日志组中的事件分布情况,而不仅仅是表中显示的事件。

  6. 要查看返回的日志事件之一的所有字段,请选择该日志事件左侧的图标。

修改示例查询

在本教程中,您将修改示例查询以显示 50 个最新的日志事件。

如果您尚未运行上一教程,请立即运行。本教程开始于前一教程结束的位置。

注意

随 CloudWatch Logs Insights 提供的一些示例查询使用head或者tail命令而不是limit. 这些命令现正被弃用并已替换为 limit。在写入的所有查询中使用 limit 而非 headtail

修改 CloudWatch Logs 见解示例查询

  1. 在查询编辑器中,将 20 更改为 50,然后选择运行

    显示新查询的结果。假设在默认时间范围内日志组中有足够的数据,则现在将列出 50 个日志事件。

  2. (可选)您可以保存已创建的查询。要保存此查询,请选择保存。有关更多信息,请参阅保存并重新运行 CloudWatch Logs 见解查询

将筛选命令添加到示例查询

本教程说明如何在查询编辑器中对查询进行更有效的更改。在本教程中,您将基于检索的日志事件中的某个字段筛选上一个查询的结果。

如果您尚未运行前面的教程,请立即运行。本教程开始于前一教程结束的位置。

将筛选命令添加到前一查询

  1. 确定要筛选的字段。要查看 CloudWatch Logs 在过去 15 分钟内所选日志组中包含的日志事件内检测到的最常见字段,以及每个字段在其中出现的这些日志事件的百分比,请选择字段在页面右侧。

    要查看特定日志事件中包含的字段,请选择该行左侧的图标。

    awsRegion 字段可能会显示在您的日志事件中,具体取决于日志中的事件。对于本教程的其余部分,我们使用 awsRegion 作为筛选字段,但如果该字段不可用,则您可以使用其他字段。

  2. 在查询编辑器框中,将光标放在 50 之后,然后按 Enter。

  3. 在新行上,首先输入 |(竖线字符)和一个空格。CloudWatch Logs Insights 查询中的命令必须用竖线字符分隔。

  4. 输入 filter awsRegion="us-east-1"

  5. 选择运行

    此查询再次运行,现在将显示与新筛选器匹配的 50 个最新结果。

    如果您筛选不同的字段并获得错误结果,则您可能需要对字段名称进行转义。如果字段名称包含非字母数字字符,则必须在字段名称前后放入反引号字符 (`),例如 `error-code`="102"

    必须将反引号字符用于包含非字母数字字符的字段名称,但不能用于值。值始终包含在引号 (") 中。

CloudWatch Logs Insights 包括强大的查询能力,包括若干命令以及对于正则表达式、数学和统计操作的支持。有关更多信息,请参阅CloudWatch Logs Insights 查询语法