如何在Grafana中创建非数值信息框提取Prometheus查询结果的镜像名
Grafana动态提取Prometheus标签值展示方案
你可以通过两种成熟配置实现需求,无需自定义插件:
方案1:Table面板(推荐,配置门槛低)
操作步骤:
- 新建Table面板,数据源选择你的Prometheus实例
- 输入PromQL查询,支持引用已配置的变量:
container_cpu_usage_seconds_total{namespace="$你配置的命名空间变量名", pod=~"api.*", container!=""} - 切换到「转换(Transform)」标签页,依次添加以下规则:
- 选择
提取标签(Extract labels),勾选container、image两个标签作为独立列提取 - 选择
组织字段(Organize fields),删除Time、Value、namespace等不需要的字段,仅保留container、image - (可选,直接生成目标格式文本)选择
添加计算字段(Add field from calculation),模式选Binary operation,表达式填写"${container} image: ${image}",生成新字段后隐藏原container、image列
- 选择
- 最后在面板样式配置中,关闭表头、分页、行边框等表格元素,即可实现纯文本展示效果。
方案2:Text面板(支持自定义Markdown/HTML排版)
适合需要复杂排版的场景,Grafana 8.0+版本原生支持:
- 先在面板的查询页添加和方案1一致的PromQL,保持查询ID为默认的
A - 切换到Text面板的内容配置页,内容格式选择
Markdown,直接写入模板代码:{{ range query "A" }} {{ .Labels.container }} image: {{ .Labels.image }} {{ end }} - 若需要去重,可在PromQL末尾加
last_over_time([1m]),或在转换页添加去重(Deduplicate)规则即可。
内容的提问来源于stack exchange,提问作者toto
相关产品推荐
相关产品推荐

