Grafana:如何通过比较两个值来设置表格单元格颜色

Grafana:如何通过比较两个值来设置表格单元格颜色

使用Prometheus作为数据源,在中Grafana,我有一个Table可视化效果,使用以下查询列出了 kubernetescontainers及其版本:

kube_pod_container_info{namespace="$namespace", pod=~"pod-.*"}

示例表如下所示:

| pod          | Version |
| -------------| ------- |
| pod-firstapp | 123     |
| pod-secondapp| 456     |

这仅列出独特的如果任何给定 pod 有多个实例,则会出现该 pod 的版本,因此在容器升级或在升级过程中卡住的情况下,pod会出现相同的两行,具有不同的版本,如下所示:

| pod          | Version |
| -------------| ------- |
| pod-firstapp | 123     |
| pod-firstapp | 124     |
| pod-secondapp| 456     |

如果出现第二行,我该如何突出显示它?我能想到的唯一方法是通过,Value mappings但我不知道是否可以设置它们来比较两个值。提前致谢。

答案1

您无法比较表格面板中不同列的值,但值映射仍然可以帮助您。

您可以使用查询:

count by (container, image) (
 kube_pod_container_info{namespace="$namespace", pod=~"pod-.*"}
) * 0
+ on(container) group_left()
count by (container) (
 count by (container, image) (
  kube_pod_container_info{namespace="$namespace", pod=~"pod-.*"}
 )
)

此后,您可以为列值添加值映射,并将 1 替换为,并将范围 2-999 替换为红色字体的all actual内容。some are outdated

由于版本存储在标签中,因此无法自动找到哪个版本已经过时,您需要自己解决这个问题。

这不会为整行着色(据我所知,新版本的表格面板不可能做到这一点),但我相信应该足以满足您的需要。


如果你想更主动一点,你可以用表情创建警报

count by (container) (
 count by (container, image) (
  kube_pod_container_info{namespace="$namespace", pod=~"pod-.*"}
 )
) > 1

它将返回运行有多个图像版本的容器。

相关内容