如何在Grafana的CloudWatch查询中使用AS获取多值结果
在Grafana中通过CloudWatch返回多值结果的实现方案
CloudWatch Insights的SQL语法不支持在单条SELECT语句中同时返回聚合指标值和自定义固定常量,你可以通过以下两种方式实现需求:
方式一:创建多个独立查询
在Grafana的CloudWatch查询编辑器中添加3个独立查询:
- 获取EC2实例的CPU平均值:
SELECT AVG(CPUUtilization) AS cpu FROM "AWS/EC2" WHERE AutoScalingGroupName = 'default'
- 生成固定纬度值30:
SELECT 30 AS lat FROM SCHEMA()
- 生成固定经度值15:
SELECT 15 AS lon FROM SCHEMA()
这三个查询会分别返回对应的值,Grafana会将它们作为独立的数据集加载到面板中。
方式二:用Grafana Transform合并结果
如果希望将所有值合并到同一个结果集里,可借助Grafana的Transform功能:
- 先创建获取CPU平均值的查询(即上述第一个查询)。
- 在面板的「Transform」选项卡中,点击「Add transformation」,选择「Add field from calculation」。
- 在配置项中,「Calculation」选择「Constant」,「Value」输入30,「Field name」设为
lat,保存设置。 - 重复步骤2-3,创建另一个常量字段
lon,值设为15。
最终你会得到包含cpu、lat、lon三个字段的统一结果集。
注意:你最初尝试的混合查询写法在CloudWatch SQL中不生效,因为聚合函数与常量无法在同一条无分组的SELECT语句中共同返回结果。
内容的提问来源于stack exchange,提问作者cloud-engineer
相关产品推荐
相关产品推荐

