Grafana自动生成panel,减少人工维护。
前言
一、Templating是什么?
二、使用步骤
1.定义一个变量
2.引用变量配置
效果
未解决的问题
前言
随着深入的使用grafana可视化工作,遇到了一个瓶颈问题,那就是怎么通过一个变量得到的数据,批量生成多个模板。
常用的场景是某个网络设备有多个关键的Interface接口要用于展示发送、接收的数据,如果认为手动去做,通过copy,paste的方式虽然比较容易做出来,但是太费人力了。
Templating的变量其实就是事先帮我们查询好变量的值,然后在查询输入的时候事先帮我们把查询中的变量替换掉,从而实现一次配置,多台显示的目的。grafana有很多灵活的实现,甚至是不同的数据源也可以将查询融合到一起。
点击某个仪表盘的右上角Dashboard Settings,选择Variables后,如下配置。
上图所示,使我们通过zabbix数据源,把某个网络设备的所有application中Interface相关的获取出来作为变量,而且变量可以多选。
新建一个panel,配置如下
这里使用Templating的地方就是在Panel设置页面下的Repeat options,这里做一下解释:我们选择一个变量,设置自动生成的面板以横向或竖向排列,每行的最大值。
上方默认选择一个变量值:
上方选择4个变量值:
Grafana会根据选择数量值的多少来决定生成的panel的数量。
仅能针对一台机器的多个端口进行多个panel生成,实际中的使用,更想要的是传入两个变量进行生成,比如根据某个机器的某个端口传入,自动生成panel。
设备A 接口1
设备B 接口2
设备C 接口3
设备D 接口4
自动生成4个panel。