按度量值对重复的面板进行排序
Posted
技术标签:
【中文标题】按度量值对重复的面板进行排序【英文标题】:Order repeated panels by metric value 【发布时间】:2019-12-15 02:15:59 【问题描述】:我有一个带有重复面板的仪表板,该面板是一个单值面板,使用 Blackbox Exporter 中的 probe_ssl_earliest_cert_expiry
指标显示 SSL 证书到期的时间。
probe_ssl_earliest_cert_expiryinstance=~"$instance" - time()
它可以工作,但面板不是升序,也不是降序。我希望这些面板按升序排列,以便首先列出最早过期的 SSL 证书。
我尝试使用sort_desc(-(probe_ssl_earliest_cert_expiryinstance=~"$instance" - time()))
让它工作,但没有成功,面板仍未排序。
更新
我意识到 Grafana 会按照 $instance
模板变量在该面板中的重复顺序对重复面板进行排序。
我为此模板变量使用了probe_success
指标,但我现在也为此使用了probe_ssl_earliest_cert_expiry
指标。
我觉得我更近了一步,但是对这个模板变量使用数字排序似乎并没有根据度量值正确排序。
有没有办法在 Grafana 中做到这一点,或者面板是否根据完全不同的东西排序?
【问题讨论】:
【参考方案1】:我真的要感谢 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 朝着正确的方向推动!
【讨论】:
以上是关于按度量值对重复的面板进行排序的主要内容,如果未能解决你的问题,请参考以下文章