Zabbix+Grafana打造全方位立体化监控系统

matthewhan 2020-03-20

前言简介:

Grafana是一个开源的指标量检测和可视化工具。常用于展示基础设施的实时数据和应用程序运行分析;是一个通用的可视化工具,不仅仅用于展示zabbix下的监控数据,也同样适用于一些其他数据可视化的需求;首选需要搞清楚两个概念:

1、数据源(datasource)

数据存储源,主要定义了将用什么方式查询数据展示在grafana上面,不同的datasource拥有不同的查询语法;官方支持数据源最常见的有:zabbix,prometheus,Elasticsearch,Open TSDB等等;每个数据源的查询语言和能力各不相同,可以将来自多个数据源整合到一个仪表盘中,但是每个面板都绑定在属于特定组织的特定数据源

2、仪表盘(Dashboard)

通过数据源定义好可视化的数据源之后,对于用户而言最重要的事情就是实现数据的可视化,在Grafana中,通过dashboard来组织和管理我们的数据可视化图表

在dashboard中一个最基本的可视化单位为一个panel(面板),panel通过如趋势图,热力图形式展示可视化数据,并在dashboard中每个panel是一个完全独立的数据源以及数据查询方式;

【Grafana部署配置】

wget -c https://dl.grafana.com/oss/release/grafana-6.2.0-1.x86_64.rpm

yum localinstall -y grafana-6.2.0-1.x86_64.rpm

[ ~]# systemctl enable grafana-server

[ ~]# systemctl start grafana-server

[ ~]# grafana-cli plugins list-remote|grep zabbix
id: alexanderzobnin-zabbix-app version: 3.10.5
[ ~]# grafana-cli plugins install alexanderzobnin-zabbix-app version: 3.10.5

[109102 ~]# grafana-cli plugins install alexanderzobnin-zabbix-app
installing alexanderzobnin-zabbix-app @ 3.10.5
from url: https://grafana.com/api/plugins/alexanderzobnin-zabbix-app/versions/3.10.5/download
into: /var/lib/grafana/plugins

? Installed alexanderzobnin-zabbix-app successfully

Restart grafana after installing plugins . <service grafana-server restart>
[ ~]# grafana-cli plugins install grafana-clock-panelinstalling grafana-clock-panel @ 1.0.3from url: https://grafana.com/api/plugins/grafana-clock-panel/versions/1.0.3/downloadinto: /var/lib/grafana/plugins
^@? Installed grafana-clock-panel successfully
Restart grafana after installing plugins . <service grafana-server restart>
[ ~]# systemctl restart grafana-server








【配置Zabbix数据源】
1.因为刚部署的Grafana,默认是没有任何数据源的,此时我们直接点击”Add data source“即可,然后Plugins标签,并启用这个zabbix插件;

 
  
 2.在左侧点击组态,找到plugins插件的zabbix数据源,点进去便可以设置了


配置解析:

#URL地址需要填写zabbix server的API地址,这个地方需要注意一下,前面的可以修改成自己zabbix的IP或者域名,后面的uri要根据自己的web发布目录级别来指定,我这里是http://192.168.109.103/api_jsonrpc.php
#Zabbix API details的配置其实就是zabbix web界面登录的用户和密码,默认是Admin/zabbix

配置完毕之后,一定要点击最下角的“Save&Test”保存之后,继续选择左边的Dashboards数据源,默认有线程的数据源模板,直接引用即可,如下图所示:

Zabbix+Grafana打造全方位立体化监控系统

最后找到左上角的home,找到模板名称即可发现已经收集到关于zabbix监控可视化数据了。 

 Zabbix+Grafana打造全方位立体化监控系统

 【自定义Dashboad】

除了zabbix插件自带的Dashboard之外,我们自己还可以自定义Dshboard

Zabbix+Grafana打造全方位立体化监控系统

 找到右上角旁边的“Dashboard settings”添加模板

 Zabbix+Grafana打造全方位立体化监控系统

修改面板名称为”测试-zabbix“

Zabbix+Grafana打造全方位立体化监控系统

 添加面板变量 

点击左侧的”Variables“,然后在选择”Add variable“定义变量;

 Zabbix+Grafana打造全方位立体化监控系统

 Zabbix+Grafana打造全方位立体化监控系统

参数详解

Grnralbu上部分

Name:变量的名字,表示为group组意思,后续需要用$group来调用
Type:变量的类型,这里选择Query表示一个查询语句,type也可以是datasource,表示该变量是整个数据源,另外变量类型还是可以时间间隔lnterval等;
Label:是对应下拉框的名称,默认修改主机组,分别为空,label(不显示下拉框的名字),variable(表示隐藏该变量);

 Query Options

Data source:数据源
Refresh:表示何时更新变量值,首先变量的值市通过查询数据源而获取到的,数据源本身也会发生变化,因此需要经常更新变量的值,这样才能保证数据源的改变会在变量对应的下拉框中显示出来;Refresh默认三个值可选择:1、Never(永不更新);2、On Dashboard Load(在一定dash board加载时更新);3、On Time Range Change(在一个时间范围内更新)Query:查询表达式,不同的数据源查询表达式也会不同,这里由于是要查询zabbix的groups信息,表达式为"*" 代表查询组内所有
Regex:正则表达式,主要用来将抓取到的数据进行过滤,这里选择默认不过滤
sort:排序,对下拉框中的变量值进行排序,默认选择disable,表示查询结果是怎样下拉框就怎样显示; 

 Selection Options

Multi-value:启用这个功能,变量的值可以选择多个,具体表现在对应的下拉框可以选多个值组合
lnclude All option:启用这个功能,变量下拉框中就多了all选项

 #创建host变量

Zabbix+Grafana打造全方位立体化监控系统

 #创建netif变量

Zabbix+Grafana打造全方位立体化监控系统

 #添加CPU查询面板

Zabbix+Grafana打造全方位立体化监控系统

 Zabbix+Grafana打造全方位立体化监控系统

 #添加网卡监控流量面板

Zabbix+Grafana打造全方位立体化监控系统

最终效果如下所示

 Zabbix+Grafana打造全方位立体化监控系统

 END!

相关推荐