【Grafana】使用Templating功能批量生成panel

Grafana自动生成panel,减少人工维护。

文章目录

前言

一、Templating是什么?

二、使用步骤

1.定义一个变量

2.引用变量配置

效果

未解决的问题


前言

        随着深入的使用grafana可视化工作,遇到了一个瓶颈问题,那就是怎么通过一个变量得到的数据,批量生成多个模板。

        常用的场景是某个网络设备有多个关键的Interface接口要用于展示发送、接收的数据,如果认为手动去做,通过copy,paste的方式虽然比较容易做出来,但是太费人力了。


一、Templating是什么?

        Templating的变量其实就是事先帮我们查询好变量的值,然后在查询输入的时候事先帮我们把查询中的变量替换掉,从而实现一次配置,多台显示的目的。grafana有很多灵活的实现,甚至是不同的数据源也可以将查询融合到一起。

二、使用步骤

1.定义一个变量

        点击某个仪表盘的右上角Dashboard Settings,选择Variables后,如下配置。

【Grafana】使用Templating功能批量生成panel_第1张图片

        上图所示,使我们通过zabbix数据源,把某个网络设备的所有application中Interface相关的获取出来作为变量,而且变量可以多选。 

2.引用变量配置

        新建一个panel,配置如下 

【Grafana】使用Templating功能批量生成panel_第2张图片

        这里使用Templating的地方就是在Panel设置页面下的Repeat options,这里做一下解释:我们选择一个变量,设置自动生成的面板以横向或竖向排列,每行的最大值。


效果

        上方默认选择一个变量值:

【Grafana】使用Templating功能批量生成panel_第3张图片

        上方选择4个变量值:

【Grafana】使用Templating功能批量生成panel_第4张图片 

        Grafana会根据选择数量值的多少来决定生成的panel的数量。 

未解决的问题

        仅能针对一台机器的多个端口进行多个panel生成,实际中的使用,更想要的是传入两个变量进行生成,比如根据某个机器的某个端口传入,自动生成panel。

        设备A 接口1

        设备B 接口2

        设备C 接口3

        设备D 接口4

自动生成4个panel。

你可能感兴趣的:(grafana)