用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 服务用户名
{KaTeX parse error: Expected 'EOF', got '}' at position 9: PASSWORD}̲ - VMware 服务{ USERNAME}用户密码
相隔一段时间后,将会自动发现主机和虚拟机
然后调整合适的监控项,配置合适的图形,这是一项非常大的工程
注意 ,千万不要删除的这台主机,不然后面发现的主机和虚拟机都会被一并删除