用zabbix监控vsphere可以是可以,但是不如vmware原生配对的operation manager效果好

从 Zabbix 2.2.0版本开始支持对 VMware 的监控。Zabbix 可以使用低级别自动发现(low-level discovery ) VMware hypervisors(宿主机) 和 虚拟机,并根据事先定义的主机原型,为这些虚拟机创建Host并添加监控。Zabbix 中默认提供了几个模板,可以直接用来监控 VMware vCenter 或 ESX hypervisor。

    监控虚拟机分两个步骤完成。首先,Zabbix 是通过 vmware collector 进程来获取虚拟机数据。这些进程通过 SOAP 协议从 VMware Web SDK服务获取必要的信息,对其进行预处理并存储到 Zabbix server 共享内存中。然后,zabbix pollers 通过 zabbix 简单检查 VMware keys 来检索这些数据。

一、zabbix配置文件修改

    要使得虚拟机监控正常工作,编译安装zabbix需要加上 --with-libxml2和--with-libcurl编译类库选项。

修改zabbix配置文件vim /etc/zabbix/zabbix_server.conf 

第313行,StartVMwareCollectors ,预先启动Vmware collector收集器实例的数量,取消注释,推荐修改为5

  • VMwareCacheSize - 用于存储VMware 数据的缓存容量,默认为8M,取值范围:256K-2G。我这里修改为80M


  • VMwareFrequency - 连接到VMware服务收集一个新数据的频率,默认为60秒,取值范围:10-86400。

  • VMwarePerfFrequency - 连接到VMware服务收集性能数据的频率,默认为60秒,取值范围10-86400。

  • VMwareTimeout - VMware collector 等待VMware 服务响应的时间,默认为10秒,取值范围:1-300。

完成配置文件修改后,重启zabbix-server服务器即可


二、vsphere配置

在exsi中需要打开Managed object Browser(MOB)服务,不然无法发现esxi的uuid导致监控失败

在web client中主机系统高级设置里面打开

Config.HostAgent.plugins.solo.enableMob

右键把值改为true

每个exsi都需要配置,完成配置后,访问(172.31.207.11)为exsi地址

https://172.31.207.11/mob/?moid=ha-host&doPath=hardware.systemInfo,输入root账户密码,即可看到uuid

配置vcenter用户

需要在vcenter上配置一个只读账户,用于对接zabbix4.0


授权,设置为只读

三、zabbix监控配置

zabbix4.0上自带对vmare的监控模板,可以用于监控vmware vcenter和esx hypervisor.

这些模板包含事先定义的 LLD 规则以及用于监视虚拟安装的内置检查。

请注意,“Template Virt VMware“监控模板应用于 VMware vCenter 和 ESX hypervisor(宿主机)监控。 ”Template Virt VMware Hypervisor“和”Template Virt VMware Guest“模板由前者自动发现关联宿主机和虚拟机,通常不应该手动链接到单个主机。

对于vsphere虚拟化环境,一般我们只需要配置vcenter链接这三个模板,即可对整个环境进行监控。

注意,主机里面不需要配置地址


链接模板

配置宏

要使用 VMware 简单检查,主机必须定义以下用户宏:

  • {$URL} - VMware 服务 (vCenter or ESX hypervisor) SDK URL (https://servername/sdk).

  • {$USERNAME} - VMware 服务用户名

  • {$PASSWORD} - VMware 服务{$ USERNAME}用户密码

相隔一段时间后,将会自动发现主机和虚拟机

然后调整合适的监控项,配置合适的图形,这是一项非常大的工程


注意 ,千万不要删除的这台主机,不然后面发现的主机和虚拟机都会被一并删除