全网首发实战Grafana图表数据向下钻取(支持跳转到不同的对应面板)

2020年08月22日 494点热度 2人点赞 0条评论

环境

Grafana版本:v7.1.3 (5723d951af)

备注:上面这个版本是在写本篇博客的当天打开这个Grafana的官方在线演示demo 时页脚显示的版本号,但彼时官方最新的版本已经是v7.1.4了,不过我想说的是本篇博客最早实战成功的时候所基于的Grafana版本应该也是不高的,所以你不用太担心你的版本与本文不符怎么办,其实只要你的Grafana版本不是实在太低就行哈!

效果演示

咱闲话少说,先看实战演示效果:

碎碎念

最近在忙着把Prometheus上的指标添加到Grafana上展示,以及更重要的是预研在一个Annotations & Alerts的面板上实现点击应用名或服务名就能跳转到对应的面板上,而且还要求跳转时自动切换到对应的application。如上面的GIF动图所示,本人预研成功,前述要求我已经完美实现了哈,上面是Grafana官方提供的在线演示demo,官方demo面板中没有设置application这个面板变量,所以无法演示跳转时自动切换到对应的application哈,其实主要是我懒得在我本地搭建Prometheus和Grafana了呢,不过在我付费内容中会告诉你怎么实现哈!

由于Prometheus的job名一般在实践中可以设置为服务名或应用名,而且会把它挪到grafana面板table类型的panel的第一列且把column header设置为“应用服务名”这样的字面量,上面的演示中由于是官方demo不方便把它这样设置哈~

实战

这一节的实战是付费阅读的哦,😘~

实战环节首先简述了一下思路,如果你对grafana的panel edit设置比较熟的话相信你看完简述马上就知道怎么做了,当然如果你对grafana不太熟的话,我也准备了丰富的图文实操步骤,而且更重要的是还分享了两个我踩的坑,都是经历过惨痛教训后得出来的。

最后

当你看完付费内容后会心想我靠原来这么简单呀,白瞎了我的钱了。

可你要知道当初我走了多少弯路么,由于大家都知道grafana的模板url中包含了随机生成的dashboard id,而这个id又没有提供对应的默认变量,所以我一开始就一直执着于新建一个mapping match的模板变量来干这个事,事实证明即使忙活到了零点所做的一切也只是徒劳,另外我甚至考虑过写一个Django服务来你懂的。。

另外,你可能可以实现数据向下钻取跳转时跳转到同一个面板,但是要想实现不同的应用跳转到不同的面板的话还是怎么说呢,非常tricky的。

Sharp

"A Linux user and a Python{}".format('er')

文章评论