您的位置:首页 > 其它

深入浅出Zabbix 3.0 -- 第十六章 第三方应用扩展

2017-06-02 11:48 295 查看

第十六章 第三方应用扩展

16.1 graphtrees

当Zabbix中监控设备的数量比较多时,查看监控图形是一个比较痛苦的事情。Zabbix 2.x版本中有个插件叫Zatree(https://github.com/spide4k/zatree),主要功能是提供Host group的树形展示和在item中指定关键字查询及数据排序。Zabbix 3.0发布后,Zatree一直没有更新。好消息是OneOaaS公司开源了graphtrees,项目托管在github上,目前支持Zabbix 3.0.1、3.0.2和3.0.3版本,你可以访问https://github.com/OneOaaS/graphtrees获得最新的项目信息。Graphtrees的主要功能有:集中展示所有分组设备
集中展示一个分组图像
集中展示一个设备图像
展示设备下的Application
展示每个Application下的图像
展示每个Application下的日志
对原生无图的监控项进行绘图

安装及使用

步骤如下:1、 备份现有Zabbix web 页面程序,假设安装目录为 /usr/share/zabbix。# cd /usr/share/# tar -czf zabbix_web.tar.gz zabbix# cd zabbix2、 收集补丁文件。# wget https://raw.githubusercontent.com/OneOaaS/graphtrees/master/graphtree3-0-1.patch3、 安装patch工具并执行补丁命令。# yum install -y patch
# patch -Np0 <graphtree3-0-1.patch patching file ./README.mdpatching file ./biggraph.phppatching file ./graphtree.left.phpThe next patch would delete the file graphtree/graphtree.patch,which does not exist! Skipping patch.1 out of 1 hunk ignoredpatching file ./graphtree.right.phppatching file ./graphtrees.phppatching file ./hosts.phppatching file ./img/icon-sprite.svgpatching file ./img/oneoaas-wechat.jpgpatching file ./include/func.inc.phppatching file ./include/menu.inc.phppatching file ./include/page_header.phppatching file ./js/vendors/highlight.min.jspatching file ./js/vendors/jquery.ztree.core-3.5.jspatching file ./jsLoader.phppatching file ./locale/lt/LC_MESSAGES/frontend.popatching file ./locale/lv/LC_MESSAGES/frontend.popatching file ./locale/pt_BR/LC_MESSAGES/frontend.popatching file ./styles/ztree/line_conn.gifpatching file ./styles/ztree/loading.gifpatching file ./styles/ztree/zTreeStandard.gifpatching file ./styles/ztree/zTreeStandard.pngpatching file ./styles/ztree/zTreeStyle.css从上面的输出信息可以看到除了graphtree.patch这个补丁文件报错外,其他文件都没有问题。接下来在Zabbix 前端页面的Monitoring菜单会有一个Graphtrees子菜单,如下图16-1所示。

图 16-1点击Graphtrees菜单,我们会看到屏幕左侧是树形组织的host group --> host --> application,每个host group名称后面的括号内会显示当前属于这个主机组的主机数量,每个host名称后面的括号内显示当前主机中的application数量。当你点击host group或host时,在屏幕右侧默认显示系统配置的图形。当点击host中的application时会显示3中数据,包括系统默认有图形的、系统默认没有图形的和日志类的数据。效果图如下16-2所示。

图 16-2

16.2 grafana

Grafana 提供强大而优雅的方式来创建、 浏览和共享仪表板和数据,常用于可视化互联网基础设施的时序数据和应用分析的开源程序。在仪表板中可以显示来自不同数据源的数据,通过可插拔的面板和数据源,允许轻松的扩展和丰富的面板展示,包括全功能的图形面板和丰富的可视化的选项。内建支持很多流行的时序数据源,包括Graphite、Elasticsearch、Prometheus、InfluxDB、OpenTSDB和KairosDB,也可以使用插件功能添加你自己的应用。通过访问grafana官网http://grafana.org/了解更多信息,也可以访问grafana演示网站http://play.grafana.org/ 浏览grafana更多的特性。显示界面如下图16-3所示。

图 16-3Grafana-zabbix 是 AlexanderZobnin 在github上开源的grafana Zabbix插件,可以展示Zabbix中items、triggers等数据,主要特性有:灵活的监控指标编辑器(支持Regex)
支持模板变量
支持注释(在图形上显示事件)
触发器面板
客户端监控指标处理(Avg、Median、Min、Max、Multiply、Summarize)
你可以访问http://play.grafana-zabbix.org ,这是一个Grafana-zabbix的功能演示网站,通过仪表板的例子体验grafana提供的丰富的功能特性。

16.2.1 安装grafana-zabbix

安装grafana的方法很多,具体可参考http://docs.grafana.org/installation/。在这里我们采用yum Repository安装,这种方式可以自动解决依赖关系,安装步骤如下:首先通过脚本生成grafana.repo文件。# curl -shttps://packagecloud.io/install/repositories/grafana/stable/script.rpm.sh |bash# more/etc/yum.repos.d/grafana_stable.repo [grafana_stable]name=grafana_stablebaseurl=https://packagecloud.io/grafana/stable/el/7/$basearchrepo_gpgcheck=1gpgcheck=0enabled=1gpgkey=https://packagecloud.io/grafana/stable/gpgkeysslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crtmetadata_expire=300 [grafana_stable-source]name=grafana_stable-sourcebaseurl=https://packagecloud.io/grafana/stable/el/7/SRPMSrepo_gpgcheck=1gpgcheck=0enabled=1gpgkey=https://packagecloud.io/grafana/stable/gpgkeysslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crtmetadata_expire=300查看grafana程序包并安装。# yum list | grep grafanagrafana.x86_64 3.1.1-1470047149 grafana_stable pcp-webapp-grafana.noarch 3.10.6-2.el7 base# yum install grafana启动grafana服务# systemctl startgrafana-server# systemctl status grafana-server允许系统引导时自动启动grafana服务# systemctl enable grafana-server安装grafana-zabbix插件也有多种方法,在这里我们采用grafana-cli工具进行安装,其他的方法请参考文档http://docs.grafana-zabbix.org/installation/。# grafana-cli pluginslist-remoteid: abhisant-druid-datasource version: 0.0.2id: alexanderzobnin-zabbix-app version: 3.0.0id: bosun-app version: 0.0.25id: bosun-datasource version: 0.0.5id: crate-datasource version: 0.0.1id: fastweb-openfalcon-datasource version: 1.0.0id: fetzerch-sunandmoon-datasource version: 0.1.1id: grafana-clock-panel version: 0.0.8id: grafana-example-app version: 1.0.1id: grafana-influxdb-08-datasource version: 1.0.2id: grafana-kairosdb-datasource version: 1.0.1id: grafana-piechart-panel version: 1.1.1id: grafana-simple-json-datasource version: 1.1.2id: grafana-worldmap-panel version: 0.0.13id: kentik-app version: 1.0.4id: mtanda-heatmap-epoch-panel version: 0.1.1id: mtanda-histogram-panel version: 0.1.1id: ns1-app version: 0.0.5id: opennms-datasource version: 2.0.1id: percona-percona-app version: 1.0.0id: praj-ams-datasource version: 1.0.1id: raintank-snap-app version: 0.0.3id: raintank-worldping-app version: 1.0.10id: sileht-gnocchi-datasource version: 1.0.3id: stagemonitor-elasticsearch-app version: 0.26.0id: udoprog-heroic-datasource version: 0.1.0id: voxter-app version: 0.0.1# grafana-cli pluginsinstall alexanderzobnin-zabbix-appinstalling alexanderzobnin-zabbix-app @ 3.0.0from url: https://grafana.net/api/plugins/alexanderzobnin-zabbix-app/versions/3.0.0/downloadinto: /var/lib/grafana/plugins Installedalexanderzobnin-zabbix-app successfully Restart grafana after installing plugins . <servicegrafana-server restart># systemctl restartgrafana-serve现在,grafana和zabbix插件已经安装完成,grafana相关的环境变量配置文件位于 /etc/sysconfig/grafana-server文件中,例如日志文件、数据文件保存的位置等都可以在这个文件中。日志文件默认保存在/var/log/grafana目录中,默认数据保存在/var/lib/grafana目录的sqlite3数据库grafana.db中,默认配置保存在 /etc/grafana/grafana.ini中。打开浏览器并在地址栏中输入http://<server ip >:3000,就会出现Grafana 登录页面。如下图16-4所示。

图 16-4在grafana登录页面输入用户名 admin,密码admin,点击Log in按钮登录进入主页面,如下图16-5所示。

图 16-5在主页面的左上角点击grafana logo会弹出主菜单,包括当前用户、Dashboards、Data sources、Plugins和Admin。在当前用户下可以完成用户相关的配置,Dashboards下可以添加(New)或导入(Import)仪表板;也可以创建播放列表(Playlists)、快照(snapshots),或返回主页面(home);Data Sources中可以添加、管理数据源;Plugins可以管理grafana的Panels、Data sources和Apps插件;Admin中可以管理用户、组织,可以浏览grafana服务器的设置和运行状态,也可以改变前端页面显示的风格。grafana菜单页面如下图16-6所示。

图 16-6点击Home会弹出Dashboard列表页面,通过页面中的搜索框可以搜索仪表板,这个在有很多仪表板时很方便查找。可以通过页面左下角的Create New按钮创建新的仪表板,或用Import按钮导入仪表板。如下图16-7所示。

图 16-7点击齿轮图标可以对当前仪表板进行管理,很多工作都在这里完成。如下图16-8所示。

图 16-8

16.2.2 配置grafana

首先启用Zabbix插件,在主菜单点击Plugins,在Apps标签中点击Zabbix插件进入插件管理界面,在config标签下点击Enable按钮启用Zabbix插件。如下图16-9所示。

图 16-9在主菜单点击Data Sources ,在数据源管理页面点击 Adddata source按钮进入添加数据源的配置页面,其中各参数含义及配置如下:Name:数据源的名称,例如Zabbix。Type:数据源的类型,在该下拉框中选择Zabbix。Url:Zabbix API入口连接,例如http://192.168.10.102/zabbix/api_jsonrpc.php。Access:访问方式。Direct为从浏览器直接访问,Proxy为通过grafana后端访问。Http Auth:如果你使用Proxy方式,需要配置Basic Auth和WithCredentials。Username:可以访问Zabbix API的用户,例如Admin。Password:密码,例如 zabbix。Trends:建议使用Trends,可以提供grafana的新能。建议为grafana-zabbix插件设置专用的用户,该用户对Zabbix数据库和前端页面都有读权限。页面配置如下图16-10所示。

图 16-10点击Add按钮添加后,会显示添加成功,如下图16-11所示。

图 16-11

16.2.3 添加图形

点击仪表板右下角的ADD ROW按钮添加新行,在行的最左边绿色的滑动按钮,在弹出菜单中点击Add Panel,如下图16-12所示。

图 16-12在子菜单中点击 Graph按钮,会出现一个新图形,点击图形下方的General标签,可以设置图形名称等参数。点击Metrics标签, Panel datasource选择为Zabbix后,就可以添加监控项了。如果要添加多个监控项,可以点击Add query按钮。如下图16-13所示。

图 16-13 当所有设置完成后,点击磁盘图标保存。如下图16-14所示。

图 16-14对已有图形或其他Panel可以通过点击上方的名称,在弹出菜单中可以选择Edit进行编辑,点击Duplicate复制Panel,点击-(减号)或 +(加号)缩小/增大宽度,也可以点击垃圾桶图标删除当前的Panel。如下图16-15所示。

图 16-15

16.2.4 添加模板变量

打开需要设置模板变量的仪表板,点击齿轮图标在弹出菜单中选择Templating,如 下图16-16所示。

图 16-16点击New按钮创建新的变量,如下图16-17所示。

图 16-17主要配置参数有:Name:变量名称,例如group。
Type:收集数据的方式,大部分情况下都会使用Query。
Label:在仪表板中显示的名称,例如Group。
Data source:数据源,例如Zabbix。
Refresh:数据刷新的方式。
Quiry:匹配规则。
Regex:正在表达式。
一般我们在仪表板中创建三个变量就可以实现选择host group、host及item,如下图16-18所示。

图 16-18

出自http://ustogether.blog.51cto.com/8236854/1931606,如需转载请与作者联系。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zabbix