最近在给公司做Grafana的监控图表,在一个显示错误数的面板这卡住了。想在一个面板同时显示RPC调用的成功次数和失败次数,不过因为失败次数和成功的次数远不在一个数量级,所以想着分两个Y轴来表示,左边显示成功次数,右边显示错误数。尝试了好久终于成功,这里记录下方法。
- Grafana v7.1.0-beta2
实际操作之前先来看看最终效果图,这里绿线显示的是rpc成功次数,黄线显示的是失败次数,并且从legend可以看出使用的是右边的Y坐标轴。两者的平均值相差了大概1000倍,放在一个坐标轴是绝对不可能的。
两个查询数据
首先需要让面板能显示出两个query的结果,如上图所示,在下方的「Query」中有AB两个查询。我这里将敏感信息打了马赛克,但是从Query的数据源图标可以看出是openTSDB源。其中A查询的信息如下
具体的metrics名字打了马赛克,对metrics的过滤或者降采样会在别的文章再说明,这里需要关心的是「Alias」配置,表示的是该Query项的别名,在显示legend会用到,如上上张图所示,在后面选择坐标轴的时候也是以Alias来配置,所以弄个简单并且有意义的Alias是很有必要的,我这里放「success」表示成功次数。
B查询项也类似,Alias为「error」。
允许双Y轴
在配置的「Axes」中允许「Right Y」,并且配置一个对应的「Label」,这里的label是该y轴的显示名字,我因为会显示错误数,所以写的error
需要注意的是在没有给右Y轴配置数据的时候默认是不显示的。
给右Y轴配置数据
下面就是最重要的一环,也是藏得最深的一个设置项,搞这个搞了好久。
如上图所示,在配置项中有一个「Series overrides」,之前一直不知道啥意思,现在知道了,它是专门用来给某个查询项单独做配置的,用来覆盖默认配置。首先需要用alias或者正则表达式选择一个查询项,我这里使用前面给错误数查询配置的alias也就是error,然后会有很多选择,其中就有一个「Y-axis」,可以选择1或者2,1表示左Y轴,2表示右Y轴。