如何在Grafana面板中合并Prometheus查询展示K8s集群版本
实现方法
有两种常用方式可以实现将三个版本字段合并为单一Version列的表格:
方法一:通过PromQL直接拼接版本字符串(推荐)
直接编写PromQL查询,将同集群的major、minor、patch版本值拼接成x.y.z格式:
format('{0}.{1}.{2}', cluster_major_version, cluster_minor_version, cluster_patch_version) by (Name)
这个查询会自动按Name标签(集群名称)聚合,将对应版本值拼接为标准SemVer格式的字符串。
在Grafana表格面板中配置:
- 新增上述PromQL查询,别名可设为
Version - 进入表格的「字段」配置页面:
- 将
Name字段的显示名称改为「Cluster」 - 将查询返回的数值字段显示名称改为「Version」
- 将
- 调整表格列顺序,最终即可得到「Cluster | Version」的结构。
方法二:通过Grafana Transform功能合并字段
如果需要保留原有三个查询的同时生成合并列,可以用Grafana的Transform功能实现:
- 保留原有的三个查询,分别获取
cluster_major_version、cluster_minor_version、cluster_patch_version,并为每个查询设置别名(如Major、Minor、Patch) - 添加「Merge」变换:选择合并三个查询的结果,按
Name标签进行匹配对齐 - 添加「Add field from calculation」变换:
- 选择「Custom」类型
- 输入计算表达式:
${Major}.${Minor}.${Patch} - 将新字段命名为「Version」
- 在「字段」配置中隐藏
Major、Minor、Patch字段,只保留Name(重命名为「Cluster」)和「Version」字段
内容的提问来源于stack exchange,提问作者DiscoDave
相关产品推荐
相关产品推荐

