https://www.zabbix.com/documentation/4.0/zh/manual/vm_monitoring

官方文档地址


概述

自Zabbix 2.2.0版本开始支持对VMware的监控。

Zabbix可以使用低级别自动发现VMware宿主机和虚拟机,并根据事先定义的主机原型,为这些虚拟机创建主机并添加监控。

Zabbix中默认提供了几个模板,可以直接用来监控VMware vCenter或ESX hypervisor。

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

自Zabbix 2.4.4版本开始,收集的数据分为两种类型:VMware配置数据和VMware性能数据。这两种类型都由 vmware collectors 进程独立收集。因此,建议启用比受监控的VMware服务更多的收集器。否则,VMware性能统计信息的检索可能会由于检索VMware配置数据而延迟(对于较大型的环境,会需要一段时间)。

目前基于VMware性能统计信息只有数据存储,网络接口和磁盘设备统计信息和自定义性能计数器项。

修改配置文件

启用VMware的collectors实例

vim /etc/zabbix/zabbix_server.conf
StartVMwareCollectors=5
VMwareCacheSize=160M
VMwareFrequency=60
VMwareTimeout=20

修改之后重启zabbix-server

systemctl restart zabbix-server

创建Vcenter主机

zabbix提供了监控vcenter集群的模板,Template VM VMware(用于监控vcenter集群的状态),Template VM VMware Guest(用于监控esxi下的虚拟机状态),Template VM VMware Hypervisor(用于监控esxi主机状态)

我们只要在vcenter主机上链接Template VM VMware模板就可以实现对整个vcenter集群的监控,Template VM VMware模板会自动关联其他两个模板,实现自动发现集群内的esxi主机和虚拟机

配置主机信息

主机信息为vcenter的web地址

ZABBIX监控vcenter集群_触发器

链接Template VM VMware模板

ZABBIX监控vcenter集群_触发器_02

定义宏信息

为安全起见,最好是新建一个vcenter的只读用户用于监控

ZABBIX监控vcenter集群_共享内存_03 

修改监控模板

zabbix自带的三个esxi监控模板没有定义存储的触发器原型,因此三个模板都需要添加

触发器原型,这里以Template VM VMware模板为例创建一个磁盘的触发器原型

ZABBIX监控vcenter集群_触发器_04

定义之后会在发现磁盘之后进行自动添加触发器

ZABBIX监控vcenter集群_共享内存_05

添加CPU和内存的使用率监控

添加CPU的使用率监控

添加监控项

100*last("vmware.hv.cpu.usage[{$URL},{HOST.HOST}]")/(last("vmware.hv.hw.cpu.freq[{$URL},{HOST.HOST}]")*last("vmware.hv.hw.cpu.num[{$URL},{HOST.HOST}]"))

ZABBIX监控vcenter集群_数据_06 

添加触发器

ZABBIX监控vcenter集群_数据_07 

添加内存的使用率监控

添加监控项

100*last("vmware.hv.memory.used[{$URL},{HOST.HOST}]")/last("vmware.hv.hw.memory[{$URL},{HOST.HOST}]")

ZABBIX监控vcenter集群_共享内存_08 

添加触发器

ZABBIX监控vcenter集群_数据_09 

配置好主机之后zabbix日志可能会报这个错,Vmware monitoring Performance counter is not available,这将导致发现的主机监控项大多数变成不支持状态,这是由于在vcenter中对数据库进行查询的数量做了限制,我们可以将该限制调大,或者禁用此限制。

关于这一部分的vmvare官方文档地址为

​https://kb.vmware.com/s/article/2107096​

发现效果如下


ZABBIX监控vcenter集群_共享内存_10