Zabbix的装逼利器grafana, 不是单单只是好看而已
grafana + zabbix 实现zabbix漂亮得衣服,你以为我会这么说;不不不,如果是那样我标题也不会说grafana不止是好看而已,我看重得是他得动态数据能力。 有人会觉得 grafana 只是好看而已,但是一个个创建图像太麻烦了,尽管很好看最后还是放弃使用了,我这里要提到的 grafana 动态数据能力能够释放你得双手,解决反复创建图像得繁琐工作。
grafana 什么动态数据能力呢? 又有什么用呢? 能够给我们带来什么好处吗?
其实很多人用到了grafana得这个能力,比如小米得open-falcon 还有 “ Grafana、collectd 和 InfluxDB 打造现代监控系统”这种;其实都很好得用到了grafana 得灵活数据动态的生成图像。
那 grafana得这种能力和zabbix 在一块又能做到什么呢?
zabbix的 Screens大家应该都不陌生吧,应该每天都会经常看;不知道大家有没有我这边这样的情况: 我们领导要求一个主机,一个机器得情况(流量,cpu,服务情况等)都放到一个Screens中, 这样如果几十上百台服务器都创建一个Screeens,每个Screens中一个一个去添加图像,啊~ (ノ`Д)ノ 真是x了那什么了。。。。
很多人解决方法是写脚本通过Zabbix API接口调用或者改数据库来创建,在这里你可以通过grafana来实现,对就是这么人性。。。
到我博客看效果:http://yigemeng.blog.51cto.com/8638584/1719730 (视频不清晰得话,文章最下面有原视频下载地址。高清无码~!)
看完视频是不是觉得grafana很吊呢,这里我用到得就是通过他得动态数据变更,比如某个服务状态我创建一个整得Screens(我只创建一个,只创建一次反复用),然后这个Screens中的数据会更具你选择不同主机变动,同样得监控项不同得主机,其实就是这么个原理。这样这个服务得状态监控在不同主机间切换查看;
系统性能监控那个Screens简直更是�虐。�我考虑到可能用户要对比不同主机之间系统性能得情况,我这里采用得是图像复制,你选择多少个主机,这个Screens就复制多少个,用来展示不同主机的情况。。对,就是这么��
好了,是不是接下来有兴趣学习了呢,全过程零开发,运维也能很逼格,来看看如何去实现如上视频中得效果:
一、创建图像
1、添加行,行可以用来控制这一行高度,上移,下移、删除;在这行中得所有图像都受影响。行得控制按钮在左上角(建议:可能没有太多关注得会把所有得图像都放到同一个行里面,我这里建议同类型得放到同一行,尽量多分些行,不要吝啬,只有调增板块布局你会发现这样会帮了你)
2、添加图像,在行中添加图像,点击左上角得控制按钮,如下图操作:
点击之后会有一个没有定义数据得一个图像生成了,然后点击图像标题(圈起来得位置),然后点击 “Edit”进入编辑图像,接下来你会看到:图2,
主要是数据得选项卡,我下图说明了,其他几个选项卡大家自己玩吧,很有用的哦,可以看看官网docs
二、图像数据动态变更
创建好后,你就能看到有线条得图像了,那么怎么动态变动呢?
1、创建Templating
点击New 新建!
依次配置四个,接下来我会贴出每个得配置。
group :我选择了几个可能大家不太明白得几点做了说明,其他的跟着我配置,配置完后达到效果了,自己再慢慢测试玩其他得功能有什么效果。
host:
Application:
item:
2、图像中应用Templating
3、创建完成后你会发现图像上面多了四个选项卡,这四个选项卡就是用来供用户选择自己想查看数据的,用户选择好后,下面得图像就会根据用户得选择自动变更图像内容,显示用户想看得信息。这样就达到了图像动态数据变更得效果。
三、整合起来拼成一个动态的Screens
如果要做一个动态Screens得话,变动得就是只有主机了,Application 和item就不需要做成 Templating,下面得图像都是一个个创建的,图像中得数据会跟着用户得选择,当然下面图像中配置的Application 和item写死,因为每个图像功能固定,变动得只是主机而已。
如果看到这里你就觉得只是这样了得话那就错了
四、高玩扩展
新手建议先玩会上面的,接下来讲得是,如何利用图像复制功能和正则表达式来玩grafana(让grafana给你创建图像,你只需要告诉他创建什么即可)
看过上面这个图吧,这些服务器得网络状态我如果手动一个个去添加我是不是要加到死了,而且每次上新机器我都要再去添加一个我想日后得维护工作真是会惨不忍睹,别担心,这里这些图都是动态添加的,不是我一个一个手动添加的。不够新版本得grafana出类似这样得图像了,2.6的。
方法:
变动得只有主机元素
图像复制得真正面目。
解救使用zabbix用户双手
zabbix 的Screens 大家同样广泛应用到得就是交换机流量,将交换机接口得流量图一个个添加到一个Screens中,如果交换机物理接口加上VLAN 加上汇聚口,几十上百个那么多一个个图像添加上去,而且这只是个一个交换机的Screens, 如果领导说吧所有交换机得都加上Screens 我靠 是不是瞬间要疯得节奏,但是领导要求又不能违抗,这里骚年给大家出主意!
正则表达式:
正则表达式我这里用在交换机接口中,创建一个Templaing,这里变动得只有选择得交换机和要看得接口。
创建interface Templating,
其实到上面我们就已经得到了所有得接口,然后跟上面网络得那个图像复制一样操作,复制元素选择interface,这样你想看多少接口得流量就自动创建多少接口的流量图,但是如果你跟着做到了这一步你一定遇到了一个问题,那就是一个接口有两个item被发现了: 一个是这个接口的入站item另一个是这个接口得出站item,每个item都创建了一个图像,虽然感觉还凑合,但是无法满足挑剔的我,我想要得是把一个接口得入站和出站放到同一个图里面,然后有多少接口就创建多少图像而不是一个接口就创建两个图像,那创建得图像太多了,对grafana也是一个负担。那样就用到正则表达式了,过滤出来真正存在的接口
正则我单独贴出来(水平有限,可能有点low):^(GigabitEthernet\d{1,}/\d{1,}/\d{1,}|Ethernet\d{1,}/\d{1,}/\d{1,}|\w*-GigabitEthernet\d{1,}/\d{1,}/\d{1,})
这个正则并不适用所有人,更具自己需求想法去写。
图像中应用:
grafana是一个很不错的开源项目,目前运用得很火,官网也更新得很快,新的版本一般都有伴随着新的炫酷叼得功能,可以经常关注一下官网动态
网址:http://www.grafana.org/ (我这算不算打广告呢,他们会不会给我钱呢 哇哈哈哈~)
到最后给自己打句广告,这篇文章如果给你得工作带来了帮助,不要吝啬打赏点给小的!
文章中我都劲量写了很多重点了,如果还是有很多朋友有疑问我会出一个带我个人讲解的完整视频!
========================================================================
如果你觉得该篇文章写的不错,并且在你的工作或者生活中带来了帮助,那么你愿意在生活中给予我帮助吗?如果你愿意,为我写博客添加一些动力,可以扫下面得二维码给予我少量得赞助。
(不管再小得赞助都是你对我得肯定,这会是我一直坚持下去得动力~! 谢谢!)
这是我的微信: