如何在grafana legend中添加自定义值?

如何在grafana legend中添加自定义值?,grafana,prometheus,Grafana,Prometheus,有一个图表显示elasticsearch索引计数,见下文 我想在图例中添加一个值:diff=max-min,如何实现它?我很确定你不能,很容易。您可以通过向图形中添加另一个查询来绕过它,如 max_over_time(my_metric[[[__range_s]]s]) - min_over_time(my_metric[[[__range_s]]s]) Grafana将[[[uuuu range\u s]]位与当前仪表板的时间范围长度对齐,例如,默认1h的3600,因此实际发送到普罗米修斯

有一个图表显示elasticsearch索引计数,见下文


我想在图例中添加一个值:diff=max-min,如何实现它?

我很确定你不能,很容易。您可以通过向图形中添加另一个查询来绕过它,如

max_over_time(my_metric[[[__range_s]]s]) - min_over_time(my_metric[[[__range_s]]s])
Grafana将
[[[uuuu range\u s]]
位与当前仪表板的时间范围长度对齐,例如,默认
1h
3600
,因此实际发送到普罗米修斯的查询将被删除

max_over_time(my_metric[3600s]) - min_over_time(my_metric[3600s])
这意味着普罗米修斯将分别从格拉法纳计算最大值和最小值之间的差值(格拉法纳在普罗米修斯返回的样本上计算)。(它还将计算整个时间范围内的差异,而不仅仅是您感兴趣的最新样本。)然后您可以调整Grafana中所述时间序列的显示(例如,通过设置line=0,fill=0),使其不会显示在图形本身上,仅显示在图例中。但是图例将显示差值的当前值,以及它的最小值、最大值、平均值,这将是非常糟糕的UX

编辑:或者您可以将所述查询添加到图形右侧的单独面板(例如,表格面板)。这可能会让你更好地控制用户体验,尽管它仍然不会成为真正传奇的一部分

编辑2:您可以尝试的最后一件事是,调整Grafana的图形面板,在“最小”、“最大”和簇旁边添加一个“范围”值。源代码是,我很确定这主要是一个复制工作。您甚至可能不必重建所有的Grafana,您可以将修改后的面板打包为“调整的图形面板”插件,并将其放入Grafana部署的插件文件夹中。然后,在仪表板中,不要使用“图形面板”,而是使用“调整的图形面板”