创建字段索引以提高查询性能并减少扫描量 - Amazon CloudWatch 日志

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

创建字段索引以提高查询性能并减少扫描量

您可以为日志事件中的字段创建字段索引,以便高效地进行基于等式的搜索。然后,当您在 L CloudWatch ogs Insights 查询中使用字段索引时,该查询会尝试跳过处理已知不包含索引字段的日志事件。这可以减少使用字段索引的查询的扫描量,从而可以更快地返回结果。这可以帮助您在成千上万个日志组中快速搜索总计 PB 的日志,并更快地查看相关日志。要编制索引的好字段是您经常需要查询的字段。具有高基数值的字段也很适合作为字段索引,因为使用这些字段索引的查询会更快地完成,因为它限制了与目标值匹配的日志事件。

例如,假设您已经为创建了字段索引requestId。然后,针对该日志组的任何 CloudWatch Logs Insights 查询,该查询包含requestId = valuerequestId IN [value, value, ...]将尝试仅处理已知包含该索引字段和查询值的 CloudWatch 日志事件,而且 Logs 过去已检测到该字段的值。

您还可以利用字段索引创建对更多日志组的高效查询。当您在查询中使用filterIndex命令而不是filter命令时,查询将针对具有字段索引的日志事件的选定日志组运行。这些查询可以扫描多达 10,000 个日志组,您可以通过指定多达五个日志组名称前缀来选择这些日志组。如果这是 CloudWatch 跨账户可观察性的监控账户,则可以选择所有源账户或指定单个源账户来选择日志组”。

索引字段区分大小写。例如,字段索引为将与包含的日志事件RequestId不匹配requestId

只有结构化日志格式JSON和服务日志支持字段索引。

CloudWatch 仅记录创建索引策略后提取的日志事件的索引。它不会对创建策略之前提取的日志事件进行索引。

注意

如果您在监控账户中创建字段索引策略,则该策略不会用于关联源账户中的日志组。字段索引策略仅适用于创建该策略的账户。

本节的其余主题说明了如何创建字段索引。有关在查询中引用字段索引的信息,请参阅filterIndex筛选