一、通过zabbix监控vCenter虚拟化
1)使用zabbix自带的模板监控vCenter。
2)需要管理员手动添加vCnter主机,esxi,存储和vm主机,可以通过自动发现获取。
3)vm建议通过agent的方式获取监控数据,如果开启,数据会产生很多冗余数据,建议关闭vm的自动发现功能。只采集vCenter、esxi、存储的部分信息。
4)官方模板只能获取监控数据,尚未配置触发器,即无法触发告警,是否需要添加告警项
5)服务器的资源建议加一下。
二、zabbix服务端设置
1)必须保证zabbix_server支持soap协议
2)确认zabbix支持-with-libxml2和-with-libcurl编译选项
3)开启监控vmware采集器功能
root@monitor:~# cat /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/var/log/zabbix_server.log
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=abc6681124
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
StartVMwareCollectors=10
VMwareFrequency=30
VMwarePerfFrequency=60
VMwareCacheSize=160M
VMwareTimeout=300
#重启zabbix server
[root@server ~]# systemctl restart zabbix.service
三、vCenter设置
3.1 确认sdk接口已经打开
root@monitor:~# curl -i -k --data "" http://192.168.100.128/sdk
HTTP/1.1 301 Moved Permanently
location: https://192.168.100.128:443/sdk
date: Sun, 16 Mar 2025 01:02:57 GMT
server: envoy
content-length: 0
root@monitor:~# curl -i -k --data "" https://192.168.100.128/sdk
HTTP/2 500
cache-control: no-cache
content-type: text/xml; charset=utf-8
date: Sun, 16 Mar 2025 01:03:03 GMT
x-envoy-upstream-service-time: 1
server: envoy
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>ClientFaultCode</faultcode>
<faultstring>
Error returned by expat parser: no element found
while parsing HTTP request before method was determined
at line 1, column 0</faultstring>
</soapenv:Fault>
</soapenv:Body>
3.2 创建只读权限的用户(注意:通过管理员登录vCenter,如果已经存在只读权限的用户,可以略过。)
我这里创建用户名为zabbix用户
3.3 验证ESXI是否打开mob,在exsi中需要打开Managed object Browser(MOB)服务,不然无法发现esxi的uuid导致无法监控esxi监控失败。
四、vCenter接入zabbix监控
4.1 创建主机
4.2 验证数据