如何在Grafana(CloudWatch数据源)中同时显示InstanceName与Instance ID
解决Grafana CloudWatch图例同时显示InstanceID和InstanceName的问题
方法1:使用CloudWatch Metric Insights查询
直接用Metric Insights语法关联EC2实例标签,同时获取InstanceID和InstanceName:
SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", CPUUtilization) GROUP BY InstanceId, Tags["Name"]
在Grafana的别名设置里填写${Tags["Name"]} (${InstanceId}),图例就会显示「实例名(实例ID)」的格式。
方法2:通过Grafana变量关联标签
- 创建EC2实例变量,类型选
CloudWatch,指定你的CloudWatch数据源 - 变量设置中选择
EC2 Instance,勾选「Include instance tags」并包含Name标签 - 编辑查询时,在别名里使用
${__data.fields.Name} (${__data.fields.InstanceId})(根据变量实际返回字段名调整)
方法3:使用Grafana Transform功能
- 先按常规方式查询CPUUtilization,按InstanceId分组
- 进入「Transform」面板,添加「Join by field」变换,关联另一个专门获取InstanceID与对应Name标签的查询,关联字段选InstanceId
- 在图例设置里,用合并后的字段设置别名,比如
${Name} (${InstanceId})
注:新版本Grafana中{{InstanceName}}变量失效,是因为CloudWatch数据源字段命名规范调整,需使用标签字段的正确引用方式。
内容的提问来源于stack exchange,提问作者Minsu
相关产品推荐
相关产品推荐

