1、Esxi服务器资料:
IP:192.168.1.11
Esxi版本:5.1
2、 开启esxi ssh 登录
如上图,以VMware vSphere Client连接服务器,并依次点击配置--安全配置文件--属性--SSH--选项来开启esxi ssh 登录
3、获取Esxi服务器的UUID
以ssh方式登录上Esxi服务器后,执行如下命令
~ # esxcfg-info -u |awk '{print tolower($0)}'
eba11bd0-edae-11de-8b57-e41f132ed21c
说明:以上是Esxi5.1版本获取UUID的方式,在更高的版本中,方式可能有所不同。
例如,在7.0版本中,就是通过配置启用Config.HostAgent.plugins.solo.enableMob键为true的方式,再直接用
https://esxi_IP/mob?moid=ha%2dhost&doPath=hardware%2esystemInfo 获取UUID
4、验证Zabbix与VMware SDK的连通性
[root@lowair-zbx etc]# curl -i -k --data "" https://192.168.1.11/sdk
HTTP/1.1 500 Internal Server Error
Date: Wed, 21 Aug 2024 06:52:32 GMT
Set-Cookie: vmware_soap_session="52c2ed69-4b2d-33b9-fe22-0098d3f17130"; Path=/; HttpOnly;
。。。。。。。
有数据返回就可以了
5、zabbix服务端配置
5.1 修改zabbix_server.conf配置文件
vi xxxx/zabbix_server.conf
#在底部第二行开始添加下面配置
StartVMwareCollectors=5
VMwareFrequency=30
VMwarePerfFrequency=30
VMwareCacheSize=50M
VMwareTimeout=10
# service zabbix_server restart
说明:
1、StartVMwareCollectors : 预先启动Vmware collector收集器实例的数量。此值取决于要监控的 VMware 服务的数量。在大多数情况下,这应该是:servicenum < StartVMwareCollectors < (servicenum * 2)
其中 servicenum 是 VMware 服务的数量。例如:如果您有 1 个 VMware 服务要将 StartVMwareCollectors 设置为 2,那么如果您有 3 个 VMware 服务,请将其设置为 5。请注意,在大多数情况下,此值不应小于 2,不应大于 VMware 数量的 2 倍服务。还要记住,此值还取决于 VMware 环境大小和 VMwareFrequency 和 VMwarePerfFrequency 配置参数。
2、VMwareFrequency - 从单个Vmware服务收集数据之间的延迟,默认为60秒,取值范围:10-86400
3、VMwarePerfFrequency:从单个VMware服务检索性能计数器统计信息之间的延迟
3、VMwareCacheSize : 用于存储VMware 数据的缓存容量,默认为8M,取值范围:256K-2G
4、VMwareTimeout : VMware collector 等待VMware 服务响应的时间,默认为10秒,取值范围:1-300
5.2 添加主机
这里注意主机名称要使用刚才获取的UUID
5.3 选择模板
Zabbix自带了3款与Vmware有关的模板,其中,VMware Hypervisor是监控的宿主机,VMware VMware Guest是监控内部的虚拟机,VMware VMware是监控宿主机和内部的虚拟机
5.4 配置模板需要的宏
当服务器应用上需要的模板后,再点击它的监控项列表页,可以查看到它所使用到的宏
下面配置宏:
提示:为安全性着想,也可以为Esxi添加只读用户,此处略过
5.5 手工配置触发器与图形
由于Template VM VMware Hypervisor模板并没有配置触发器与图形,这时可以根据需要自行添加
也可以去Zabbix官网上下载最新的vmware模板导入后使用
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/vmware?at=release%2F4.0
选择对应的版本下载,引入新模板后,可能需要更新宏的名称
6、数据采集页面
最终实现的数据采集页面如下(部分)
7、关于VMware: Health state rollup监控项说明
通过查阅Zabbix官网资料发现,该条目中使用的键值“vmware.hv.sensor.health.state[{$VMWARE.URL},{HOST.HOST}]”自Esxi5之后的版本就不再支持了。