AWS CloudWatch动态标签无法正常工作 维度属性值不显示如何排查
AWS CloudWatch 动态标签无法渲染属性值的常见原因
动态标签完全不输出属性值的问题与维度名称正确性无关,通常由以下配置错误或功能限制导致:
- 功能适用范围限制
动态标签仅对使用CloudWatch Metrics Insights 标准SQL语法编写的查询生效。如果你使用的是旧版SEARCH()格式的搜索表达式、或是控制台点选指标生成的非Insights类查询,所有PROP()表达式都不会被解析,占位符会直接返回空值。判断查询类型的方式很简单:查看查询编辑区是否为支持SELECT/FROM/GROUP BY结构的SQL编辑器,旧版查询仅支持输入搜索字符串,不支持标准SQL语法。 - PROP函数参数前缀使用错误
这是最高发的配置错误:Dim.前缀仅用于引用未显式加入SELECT返回结果的AWS服务预置维度,对于自定义分组维度,只要你在查询中用GROUP BY指定了维度,就必须将对应维度字段加入SELECT子句返回,此时PROP()内直接写维度名即可,加Dim.前缀会匹配不到任何值。
以你使用的两个分组维度为例,正确的查询结构为:
对应可正常生效的标签模板为:SELECT SUM(你的指标名), Action, exception FROM 你的命名空间 GROUP BY Action, exception
你之前配置的[action: ${PROP('Action')}, exception: ${PROP('exception')}]Dim.Action、Dim.exception属于引用不存在的属性,自然无法输出维度值。 - 元数据属性引用规则错误
引用Namespace、MetricName这类指标固有元数据时,不需要加任何前缀,直接使用${PROP('Namespace')}、${PROP('MetricName')}即可,添加多余的Dim.类前缀会导致属性匹配失败。 - 表达式格式错误
检查所有动态表达式是否完整包裹在${}符号内,PROP()的括号、参数单引号是否为英文半角格式,出现中文符号、漏写大括号/括号(比如误写为$PROP('Action')、${PROP(Action)})都会导致解析逻辑失效。 - 旧版组件兼容问题
2021年之前创建的CloudWatch旧版经典仪表盘,部分存量图表组件不支持动态标签功能,新建图表重新配置即可验证该问题。
内容的提问来源于stack exchange,提问作者Lucas Andrade
相关产品推荐
相关产品推荐

