Amazon CloudWatch
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

CloudWatch 搜索表达式示例

以下示例演示了更多搜索表达式用法和语法。让我们首先在区域内的所有实例中搜索 CPUUtilization,然后查看变体。

此示例为区域中的每个实例显示一行,从而显示 AWS/EC2 命名空间中的 CPUUtilization 指标。

SEARCH(' {AWS/EC2,InstanceId} MetricName="CPUUtilization" ', 'Average', 300)

InstanceId 更改为 InstanceType 会更改图表,以便为区域中使用的每个实例类型显示一行。来自每个类型的所有实例的数据针对该实例类型聚合为一行。

SEARCH(' {AWS/EC2,InstanceType} MetricName="CPUUtilization" ', 'Average', 300)

删除维度名称但将名称空间保留在架构中(如以下示例所示)会生成单个行,从而显示区域中所有实例的 CPUUtilization 指标的聚合。

SEARCH(' {AWS/EC2} MetricName="CPUUtilization" ', 'Average', 300)

以下示例按实例类型聚合 CPUUtilization,并为包含字符串 micro 的每个实例类型显示一行。

SEARCH(' {AWS/EC2,InstanceType} InstanceType=micro MetricName="CPUUtilization" ', 'Average', 300)

此示例缩小了上一个示例,将 InstanceType 更改为 t2.micro 实例的精确搜索。

SEARCH(' {AWS/EC2,InstanceType} InstanceType="t2.micro" MetricName="CPUUtilization" ', 'Average', 300)

以下搜索删除了查询的 {metric schema} 部分,因此所有命名空间中的 CPUUtilization 指标都显示在图表中。这可以返回不少结果,因为该图表为来自每个 AWS 服务的 CPUUtilization 指标包含多个行(沿不同维度聚合)。

SEARCH(' MetricName="CPUUtilization" ', 'Average', 300)

要稍微缩小这些结果范围,可以指定两个特定的指标名称空间。

SEARCH(' MetricName="CPUUtilization" AND ("AWS/ECS" OR "AWS/ES") ', 'Average', 300)

前面的示例是使用一个搜索查询来搜索特定的多个名称空间的唯一方法,因为您在每个查询中只能指定一个指标架构。但是,要添加更多结构,可以在图表中使用两个查询,如以下示例所示。此示例还通过指定用于聚合 Amazon ECS 数据的维度来添加更多结构。

SEARCH(' {AWS/ECS, ClusterName}, MetricName="CPUUtilization" ', 'Average', 300) SEARCH(' {AWS/EBS}, MetricName="CPUUtilization" ', 'Average', 300)

以下示例返回名为 ConsumedLCUs 的 Elastic Load Balancing 指标以及包含令牌 flow 的所有 Elastic Load Balancing 指标或维度。

SEARCH(' {AWS/NetworkELB, LoadBalancer}, "ConsumedLCUs" OR flow ', 'Maximum', 120)

以下示例使用嵌套分组。它返回所有函数的 Errors 的 Lambda 指标,以及名称中包含字符串ProjectAProjectB 的函数的 Invocations

SEARCH(' {AWS/Lambda,FunctionName} MetricName="Errors" OR (MetricName="Invocations" AND (ProjectA OR ProjectB)) ', 'Average', 600)

以下示例显示了所有自定义指标,不包括 AWS 服务生成的指标。

SEARCH(' NOT Namespace=AWS ', 'Average', 120)

以下示例显示具有包含字符串 Errors 作为其名称一部分的指标名称、命名空间、维度名称和维度值的指标。

SEARCH(' Errors ', 'Average', 300)

以下示例将搜索缩小到精确匹配。例如,此搜索会查找指标名称 Errors,但不会查找名为 ConnectionErrorserrors 的指标。

SEARCH(' "Errors" ', 'Average', 300)

以下示例说明如何在搜索词的指标架构部分中指定包含空格或特殊字符的名称。

SEARCH(' {"Custom-Namespace", "Dimension Name With Spaces"}, ErrorCount ', 'Maximum', 120)