一、总览

    从Zabbix 2.2.0开始支持监控 VMware 虚拟化环境,Zabbix使用低水平(low-level)的规则自动发现VMware hypervisors 和virtual machines,并创建主机监控他们,Zabbix提供的默认的模板用来监控VMware vCenter 或者 ESX hypervisor。

1、监控原理

    虚拟机的监控主要分为两步,第一,vmware collector Zabbix processes回去收集虚拟机的数据,这些进程通过SOAP协议从VMware web服务获取必要的数据,对这些数据进行预处理,然后存入Zabbix server共享内存,然后,这些数据Zabbix通过VMware keys检查取回。

    我翻译渣渣,懒得翻译了,直接贴官方文档了。

    Starting with Zabbix version 2.4.4 the collected data is divided into 2 types: VMware configuration data and VMware performance counter data. Both types are collected independently by vmware collectors. Because of this it is recommended to enable more collectors than the monitored VMware services. Otherwise retrieval of VMware performance counter statistics might be delayed by the retrieval of VMware configuration data (which takes a while for large installations).

    Currently only datastore, network interface and disk device statistics and custom performance counter items are based on the VMware performance counter information.

2、发现   

    Zabbix可以使用低水平的发现规则自动发现VMware虚拟机,下图中就是一个key的示例。

Zabbix 3.2.6监控虚拟机VMware_第1张图片

3、主机样机

    主机样机创建使用低水平的发现规则,当虚拟机被发现,这些样机会自动变成真正的主机,在他们被发现前,这些虚拟机没有自己的监控条目和触发器,不用于哪些链接了模板的主机,被发现的主机属一个存在的主机,并且会使用他的IP和主机配置。

Zabbix 3.2.6监控虚拟机VMware_第2张图片

4、虚拟机模板

    “Template Virt VMware” template should be used for VMware vCenter and ESX hypervisor monitoring. The “Template Virt VMware Hypervisor” and “Template Virt VMware Guest” templates are used by discovery and normally should not be manually linked to a host.

wKiom1lobwTCqjVjAAA4wpJN6ck279.jpg

二、安装配置

1、Zabbix server配置

    要满足虚拟机的监控,Zabbix在编译的时候需要加上--with-libxml2--with-libcurl,关于依赖关系,大家请自行百度,非常简单。

    不但编译的时候需要加上上面的参数,还需要在Zabbix server的配置文件中开启以下几项,具体的数值大家可以根据自己的实际情况修改,并重启zabbix_server服务。

# vim /etc/zabbix/zabbix_server.conf

StartVMwareCollectors=5     #开启的监控进程数量,详解看官方介绍
VMwareFrequency=60
VMwarePerfFrequency=60
VMwareCacheSize=80M
VMwareTimeout=10
service zabbix_server restart

Zabbix 3.2.6监控虚拟机VMware_第3张图片

2、主机配置

Zabbix 3.2.6监控虚拟机VMware_第4张图片

    使用虚拟机简单检查主机必须配有下面的宏变量。

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

  • {$USERNAME} - VMware service user name

  • {$PASSWORD} - VMware service {$USERNAME} user password

Zabbix 3.2.6监控虚拟机VMware_第5张图片

    然后链接虚拟机模板。

Zabbix 3.2.6监控虚拟机VMware_第6张图片

    创建好之后就可以自动发现虚拟机了,你可以调整配置文件DebugLevel为5来去查看详细的日志信息。

三、验证

    为了加快监控的添加,我们这里修改一下查下的时间间隔,添加好之后再修改回来。

Zabbix 3.2.6监控虚拟机VMware_第7张图片

    不久之后,我们在主机列表区域发现了很多虚拟机,如下图:

Zabbix 3.2.6监控虚拟机VMware_第8张图片

    为了方便,我们可以点击某个主机,为其添加监控图像。

Zabbix 3.2.6监控虚拟机VMware_第9张图片

     查看监控数据。

Zabbix 3.2.6监控虚拟机VMware_第10张图片


参考文档:https://www.zabbix.com/documentation/3.2/manual/vm_monitoring


                             Zabbix 3.2.6监控虚拟机VMware_第11张图片