按度量值对重复的面板进行排序

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 朝着正确的方向推动!

【讨论】:

以上是关于按度量值对重复的面板进行排序的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript按属性值对字典进行排序[重复]

Power BI多个度量值进行动态分析

按值对 JSON 进行排序 [重复]

如何按值对数组进行排序(排序)? *有一个转折*

MDX:按度量的表值过滤成员集

机器学习评估方法及性能度量