Grafana 展示 zabbix 数据中的变量引用

Variables 变量提供了用户和面板交互,并动态刷新面板的功能。不需要硬编码,不需要每次都修改 SQL 查询语句。变量的下拉菜单显示在面板的顶部,这样改变下拉菜单的值,即可改变变量的值,而且所有使用该变量的仪表板都会随着变量的改变而改变。

变量(Variables)的定义:

在 Dashboard 的设置中定义的变量,可以作为该 dashboard 的全局变量使用,如下图所示

列表显示分组

1. 在 General 输入变量名 group,Label 设置成系统
2. 数据源选择为 “zabbix”,refresh 选择”On Dashboard Load”,Query 里输入 *
3.Multi-value 为是否为多选项,Include All option 为是否有全选选项。自己根据情况选择。

保存后,就可以看到面板中多了一个系统的可选择项,显示 zabbix 里的所有分组。

列表显示主机

1. 在 General 输入变量名 host,Label 设置成主机
2. 数据源选择为 “zabbix”,refresh 选择”On Dashboard Load”,Query 里输入 {$group}{*}

保存后,就可以看到面板中多了一个主机的可选择项,显示当前分组的所有主机。

列表显示应用集

1. 在 General 输入变量名 app,Label 设置成应用集
2. 数据源选择为 “zabbix”,refresh 选择”On Dashboard Load”,Query 里输入 {$group}{$host}{*}

保存后,就可以看到面板中多了一个应用集的可选择项。

列表显示监控项

1. 在 General 输入变量名 item,Label 设置成监控项
2. 数据源选择为 “zabbix”,refresh 选择”On Dashboard Load”,Query 里输入 {$group}{$host}{app}{*}

保存后,就可以看到面板中多了一个监控项的可选择项。

变量(Variables)的使用。

在新建展示项里,将 Group 的值设为 $group,Host 的值设为 $host,Application 的值设为 $app,Item 的值设为 $item

接下来就是正常配置 grafana 的显示效果。

效果展示

下面是一张我配置的比较简单的 cpu、内存、网络流量及硬盘使用率的展示表。