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

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

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

要运行查询,CloudWatch Logs 中必须已存储有日志。如果您已在使用 CloudWatch Logs 并设置了日志组和日志流,那么您已准备就绪,可以开始使用它了。如果您使用服务(如 Amazon CloudTrail、Amazon Route 53 或 Amazon VPC)并且您已将日志设置为从这些服务转到 CloudWatch Logs,则您也可能已有日志。有关将事件发送到 CloudWatch Logs 的更多信息,请参阅 开始使用 CloudWatch Logs

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

运行示例查询

运行 CloudWatch Logs Insights 示例查询

  1. 访问 https://console.aws.amazon.com/cloudwatch/,打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Logs(日志),然后选择 Logs Insights(日志洞察)。

    Logs Insights(日志洞察)页面,查询编辑器包含一个默认查询,它将返回 20 个最近的日志事件。

  3. Select log group(s)(选择日志组)在下拉菜单中,选择要查询的一个或多个日志组。

    您可以在搜索栏中键入要查询的日志组的名称。

    选择日志组时,CloudWatch Logs Insights 会自动检测组中的数据字段。要查看这些搜索到的字段,请选择页面右上方的 Fields(字段)菜单。

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

    您可以选择 5 到 30 分钟的间隔;1、3 和 12 小时间隔;或者自定义时间范围。

  5. 选择 Run(运行)以查看结果。

    在本教程中,结果包括 20 个最近添加的日志事件。

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

  6. 要查看返回的日志事件的所有字段,请选择编号事件左侧的三角形下拉图标。

修改示例查询

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

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

注意

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

修改 CloudWatch Logs Insights 示例查询

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

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

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

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

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

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

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

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

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

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

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

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

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

  5. 选择 Run(运行)。

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

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

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

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