按指标值对重复面板进行排序

Order repeated panels by metric value

我有一个带有重复面板的仪表板,该面板是一个单值面板,使用来自 Blackbox Exporter 的 probe_ssl_earliest_cert_expiry 指标显示 SSL 证书到期前的时间。

probe_ssl_earliest_cert_expiry{instance=~"$instance"} - time()

有效,但面板既不升序也不降序。我想要的是将这些面板按升序排列,以便首先列出最早到期的 SSL 证书。

我尝试使用 sort_desc(-(probe_ssl_earliest_cert_expiry{instance=~"$instance"} - time())) 来让它工作,但没有成功,面板仍然未排序。

更新
我意识到 Grafana 按照 $instance 模板变量的顺序对重复面板进行排序,因为面板被重复了。

我为此模板变量使用了 probe_success 指标,但我现在也为此使用了 probe_ssl_earliest_cert_expiry 指标。

我觉得我更近了一步,但是在这个模板变量上使用数字排序似乎没有根据度量值正确排序。

有没有办法在 Grafana 中做到这一点,或者面板是根据完全不同的东西排序的吗?

我真的要感谢 Marcus Efraimsson,在克隆 Grafana 之后,得出的结论是 Grafana 似乎不支持基于模板变量的度量值进行排序,但随后了解了 query_result模板变量的助手。

存在一个问题,有点试图做同样的事情,但最终结果不同。 Marcus 回应了这个问题,引用了 query_result 助手。

https://github.com/grafana/grafana/issues/11674#issuecomment-384211739

我最后做了什么,我使用了 query_result 这样我就可以使用 sort(..) 按度量值排序。但这使得整个指标实际上被添加为变量选项、标签、值等等。

我搜索了一下,发现您可以使用正则表达式来修改选项,而不仅仅是过滤它们。事实证明,Grafana 在他们的文档中甚至有一个针对这种情况的示例。

https://grafana.com/docs/reference/templating#filter-and-modify-prometheus-example

非常感谢 Marcus 在正确方向上的推动!