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数据源,默认有线程的数据源模板,直接引用即可,如下图所示:
最后找到左上角的home,找到模板名称即可发现已经收集到关于zabbix监控可视化数据了。
【自定义Dashboad】
除了zabbix插件自带的Dashboard之外,我们自己还可以自定义Dshboard
找到右上角旁边的“Dashboard settings”添加模板
修改面板名称为”测试-zabbix“
添加面板变量
点击左侧的”Variables“,然后在选择”Add variable“定义变量;
参数详解
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变量
#创建netif变量
#添加CPU查询面板
#添加网卡监控流量面板
最终效果如下所示
END!