场景
在使用Grafana配置图表看板时,我们可能需要对多个查询条件筛选出来的结果进行计算,把计算结果生成最终的图表。例如,我们想制作一个应用崩溃率的图表,那么步骤应该如下:
- 查询应用启动的数据集合A
- 查询应用崩溃的数据集合B
- 通过 (B/A)*100 来生成集合C
- 将集合C的数据配置成看板
解决方案
在Grafana v7之后的版本中,我们可以使用Transform功能来对两个query进行计算,具体方法可参考文章:。
但是Grafana在 v7之前的版本并没有这个功能,因此我们需要使用插件来实现。这里介绍两块可以实现该效果的插件
- MetaQueries
- Percent+
MetaQueries
首先按照插件官网的教程安装好插件。
然后在数据源设置界面增加一个MetaQueries数据源并保存,如下图所示:
接着在图标配置界面,我们创建一个以时间为X轴的折线图,并创建两个query:CRASH和APPLAUNCH。这两个query都是从真正的数据源拿数据的,如下图所示:
接着点击‘Add Query’按钮创建一个query C,以MetaQueries作为数据源并选择“Arithmetic”类型,该类型允许我们对指定的query进行四则运算。我们在query C的Expression中填入计算崩溃率的公式,如下图所示:
现在就可以在图表中看到相关的数据了,如下图所示:
Percent+
首先按照插件官网的教程安装好插件,在创建图表时选择创建一个Percent+图表。
接着创建两个query A和B,并把要作为分子的query结果设置别名为‘up’。
接着在插件的配置中,在percent of字段填写分子query结果的别名,over填写分母即可。
最终效果如下图所示: