如何计算grafana数据源弹性中的百分比

Posted

技术标签:

【中文标题】如何计算grafana数据源弹性中的百分比【英文标题】:How to calculate percentage in grafana datasource elastic 【发布时间】:2020-05-31 21:37:42 【问题描述】:

需要你的帮助,

目前我有如下价值弹性数据样本:

Completed : 100
Declined : 20
Canceled : 5

如何在 grafana 中使用公式创建具有上述条件的百分比成功率结果:

已完成/(已完成 + 已拒绝 + 已取消)

expected result :

success rate : 99,13 %

需要您的反馈,谢谢。

【问题讨论】:

相关链接:github.com/grafana/grafana/issues/8029community.grafana.com/t/… Completed / ( Completed + Declined + Canceled ) 加上你给出的数字,这将产生 80%,而不是 99.13%。你同意吗? 【参考方案1】:

警报引擎会发布一些关于自身的内部指标。您可以阅读有关 Grafana 如何发布内部指标的更多信息。

Total number of alerts  counter alerting.active_alerts
Alert execution result  counter alerting.result
Notifications sent counter  counter alerting.notifications_sent
Alert execution timer   timer   alerting.execution_time

也可以在https://grafana.com/docs/grafana/latest/alerting/找到信息

【讨论】:

【参考方案2】:

一个解决方案可以通过插件grafana-meta-queries 来完成,它提供了一种使用grafana 中请求的混合结果进行算术运算的方法。

    安装插件(你需要在 grafana/plugin 目录下创建一个 git clone 并重启你的服务器) 创建一个面板并将其放入提供 Completed/Declined/Canceled 结果的 3 个查询中 在同一个面板中放入另一个带有 MetaQueries 的数据源查询,并在此查询中进行算术类型的查询,您将操作与另一个查询的结果放在一起,看起来像这样

B['已完成'] / (C['已拒绝']+B['已完成'] +D['已取消'])

我已经尝试过使用 grafana 7.3.4 和 elastic-oss 7.9.1 以及最新版本的插件的解决方案,并且可以正常工作。

这里是面板集的屏幕截图:

【讨论】:

以上是关于如何计算grafana数据源弹性中的百分比的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 grafana singlestat 和 prometheus 计算正常运行时间百分比

在 Grafana 中与 groupBy 一起计算百分比

计算多个 prometheus 指标的百分比并在 Grafana 中显示

如何在 Grafana/InfluxDB 中创建百分比/比率列?

指标包含 grafana 中的标签时的百分比图

TCA证书考试考啥