利用zabbix监控Vmware运行

效果图

其实想监控Vmware已经不是一天两天了,但一直因为没有什么时间研究(其实是拖延症)所以拖了快一年了也没搞定。恰逢这次公司的VRO套件试用期到了,因为价格太贵的关系没准备买正式版所以不得不找个方案来代替它。于是就花了一星期时间断断续续的搞了出来。
首先聊下我监控Vmware的几个大类。

CPU 存储 内存 设备信息 常规信息 网络 VMS
总频率 总容量 总容量 型号 OS版本 流量 OS版本
使用量 使用量 使用量 BIOS UUID Uptime 广播 电源
使用% 使用% 使用% CPU参数 虚机数量 组播 vm state
IOPS 回收量 生产厂商 up/down MAC地址
I/O延时 Hostname 网络错误
存储可用性

还有些与系统运行关系不是太大的信息也有监控,但篇幅有限就不列举了。
针对表格内会影响到系统运行的也都设置了触发器阈值,方便发送邮件告警。
下面来聊下监控原理。
Vmware官方给出了一套python库,允许开发者去读写Vmware系统。我们这里会用到的就是利用这个库编写的一个py脚本,一个shell脚本,以及一个xml监控模板。
这三个文件都不是我自己写的,我也是抄的老外的-抄袭传送门。不过这个脚本不太适用于我们不用proxy的用户,下面简书下使用方式。
1.搭建zabbix
这是常规操作,就不赘述了,需要教程的我这里给一个我写的搭建教程链接-传送门
2.导入xml模板
3.zabbix服务端安装依赖

 # yum -y install sblim-wbemcli.x86_64 pywbem.noarch python2-pyvmomi.noarch python-setuptools jq python-setuptools zabbix-sender.x86_64
 # easy_install -U pysphere
 # easy_install -U docopt

4.zabbix服务端安装JQ,如果不安装的话shell脚本内一条变量类型转换语句会无法执行。

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum repolist
yum install jq  #因为我的yum源里没有JQ,所以还需要手动添加

如果不安装JQ在执行自动发现时会收到如下报错:

Item preprocessing step #1 failed: cannot apply multiplier "1048576" to value "/usr/lib/zabbix/externalscripts/agent_vsphere_wrapper:行281: jq: 未找到命令
cat: 写入错误: 断开的管道" of type "string": cannot convert value to numeric type
Item preprocessing step #1 failed: cannot apply multiplier "1048576" to value "/usr/lib/zabbix/externalscripts/agent_vsphere_wrapper:行281: jq: 未找到命令" of type "string": cannot convert value to numeric type

5.修改shell脚本
用文本编辑器打开agent_vsphere_wapper,将41和42行的grep "^Server=" /etc/zabbix/zabbix_proxy.conf改为grep "^Server=" /etc/zabbix/zabbix_server.conf。否则对于不用proxy的朋友会收到如下报错。

value should be a JSON object  #原因为python脚本中使用了netstat -p参数,权限问题,zabbix_agentd是zabbix用户启动的,默认不能执行netstat -p等命令,导致从服务器取到的自动发现脚本为空。

6.将脚本放到服务器
将两个脚本上传到/usr/lib/zabbix/externalscripts/,并为两个脚本授权后重启zabbix server

chmod a+x agent_vsphere_wrapper agent_vsphere
service zabbix-server restart

7.在vmware上进行一些配置

  • 首先创建一个user权限的账号,只读权限即可。
  • 打开vmware ssh,因为后面开启snmp和mob via都需要在命令行模式下进行。
  • 使用ssh终端连接vmware,执行如下命令:
vi /etc/vmware/snmp.xml  #用vi编辑器打开snmp配置文件并用以下内容替换原内容,保险起见请在修改器备份该文件。
<?xml version="1.0" encoding="ISO-8859-1"?>
<config>
    <snmpSettings>
        <enable>true</enable>
        <port>161</port>
        <syscontact></syscontact>
        <syslocation></syslocation>
        <EnvEventSource>indications</EnvEventSource>
        <communities>public</communities>
        <loglevel>info</loglevel>
        <authProtocol></authProtocol>
        <privProtocol></privProtocol>
    </snmpSettings>
</config>  
#保存退出后即可在esxi控制页打开snmp,下面开启mob via,命令如下
vi-cmd proxysvc/add_np_service "/mob" httpsWithRedirect /var/run/vmware/proxy-mob
#等你查到UUID后即可运行以下命令关闭
vi-cmd proxysvc/remove_service "/mob" "httpsWithRedirect"

8.用浏览器打开https://你的esxi服务器ip/mob/?moid=ha-host&doPath=hardware.systemInfo 输入root账号密码即可查到系统UUID,记下此UUID以备后用。
9.下面就是常规操作了,添加主机,监控模板,此处需注意的是需要添加五条宏,具体如下:

{$USERNAME} zabbix  #这里是你创建的只读用户名
{$PASSWORD} YOUR_PASSWORD  #这里是你创建的只读用户名的密码
{$URL}      https://你的esxi服务器ip/sdk
{$UUID}     你刚才查到的UUID
{$SNMP_COMMUNITY}     public

10.至此vmware的监控就完成了,在实施过程中就被上面提到的三个报错坑了四天,原来没想到是没装JQ,还想着自己去修改脚本把get到的字符串转换成数值呢。
最后再聊聊我前面放的效果图,这是利用Grafana读zabbix数据做的Dashboard,是不是挺有逼格的,现在Grafana我玩得还不溜,等玩溜了再写一篇分享给大家。
最后感谢大家的阅读,下面我准备开始研究SQL的监控,软件的同事对SQL性能还是挺关心的。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容

  • Zabbix简介 Zabbix官方网站Zabbix中文文档 本文系统环境是CentOS7x86_64, Zabbi...
    Zhang21阅读 7,955评论 0 37
  • 1.写在前面 本文主要介绍的是zabbix的编译安装过程,包含它的基础环境LNMP,虽然zabbix官方一般推荐的...
    天之蓝色阅读 2,523评论 0 16
  • 一、监控系统介绍 硬件-->系统-->应用监控:1.发现故障2.监控业务系统业务流量监控的两种方式:1.有agen...
    分享一些文档阅读 2,220评论 0 0
  • 一、架构设计及环境规划: 架构设计图: 架构设计说明: 1. 基础架构为LAMP环境,采用keepalived实现...
    Bogon阅读 10,530评论 0 10
  • 写在前面 最近在做一些iOS启动速度优化和App瘦身相关的工作,有时候需要横向对比一下竞品的数据,免不了要对一些商...
    pandora的技术博客阅读 2,833评论 0 50