从 Zabbix 2.2.0 开始支持对 VMware 的监控。
Zabbix 可以使用 low-level discovery 自动发现 VMware hypervisors 和 虚拟机,并根据事先定义的主机原型,为这些虚拟机建立 Host,添加监控。
Zabbix 中默认提供了几个模板,可以直接用来监控 VMware vCenter 或 ESX hypervisor。
支持 VMware vCenter 或 vSphere 版本最低为 4.1。
虚拟机监控分两个步骤完成。首先,Zabbix 是通过 vmware collector 进程来监控虚拟机。这些进程通过 SOAP 协议从 VMware Web 服务获取必要的信息,对其进行预处理并存储到 Zabbix server 共享内存中。然后,zabbix pollers 通过 zabbix 简单检查 VMware keys 来检索这些数据。
从 Zabbix 2.4.4 开始,收集的数据分为两种类型:VMware 配置数据和 VMware 性能数据。这两种类型都由 vmware collectors 进程独立收集。因此,建议启用比受监控的 VMware 服务更多的收集器。否则,检索 VMware 性能统计信息可能会由于检索 VMware 配置数据而延迟(比较大型的环境,需要一段时间)。
目前基于 VMware 性能统计信息只有数据存储,网络接口和磁盘设备统计信息和自定义性能计数器项。
要使虚拟机监控正常工作,编译 Zabbix 时应加上 --with-libxml2 和 --with-libcurl 编译选项。
以下配置文件参数可用于调整虚拟机监控:
有关更多详细信息,请参阅 server and proxy 的配置文件页面。
Zabbix 可以使用 low-level discovery 规则自动发现 VMware hypervisors 和虚拟机。
上面截图中的发现规则键是 vmware.hv.discovery[{$URL}]。
可以使用 low-level discovery 规则创建主机原型。当自动发现虚拟机时,这些原型成为真正的主机。原型在被发现之前,除了来自链接模板的那些,不能有自己的监控项和触发器。发现的主机将属于现有主机,并将采根据主机的 IP 进行主机配置。
在主机原型配置中,LLD 宏用于主机名,可见名称和主机组原型字段。与现有主机组,模板链接和加密链接 (encryption) 等选项。
如果选中 Create enabled,则主机将添加为启用状态。如果未选中,将添加主机,但处于禁用状态。
在主机列表中,自动发现的主机将创建它们的发现规则的名称作为前缀。可以手动删除发现的主机。发现的主机也将根据发现规则的 // 丢失保留周期 Keep lost resources period(以天为单位)// 值自动删除。除了启用 / 禁用主机和主机清单外,大多数配置选项都是只读的。发现的主机不能有自己的主机原型。
Zabbix 中默认提供了几个现成的模板,用于监控 VMware vCenter 或 ESX hypervisor。
这些模板包含事先定义的 LLD 规则以及用于监视虚拟安装的内置检查。
请注意,"Template Virt VMware"模板应用于 VMware vCenter 和 ESX hypervisor 监控。 "Template Virt VMware Hypervisor"和"Template Virt VMware Guest"模板由自动发现使用,通常设置为自动链接到主机。
如果您的服务器从 2.2 之前的版本升级并且没有此类模板,您可以手动导入,从社区页面下载 官方模板。但是,这些模板依赖于 VMware VirtualMachinePowerState 和 //VMware 状态值 // 映射,因此有必要首先创建这些值映射(使用 SQL 脚本,手动或从 XML 导入)
要使用 VMware 简单检查,主机必须定义以下用户宏:
以下示例演示如何在 Zabbix 上快速设置 VMware 监控:
{{..:..:assets:en:manual:vm_monitoring:vm_host_macros.png|}}
* 将 VMware 服务模板链接到主机:
{{..:..:assets:en:manual:vm_monitoring:vm_host_templates.png|}}
* 单击 //Add// 按钮保存主机
使用调试级别 5 进行详细调试时,VMware 收集器收集的数据会记录到日志中。此级别可以在 server and proxy 配置文件中设置,或使用运行时控制选项(-R log_level_increase="vmware collector,N"
,其中 N 是过程编号)。以下示例说明如果已设置调试级别为 4 ,扩展日志如何启动:
提高所有 vmware 收集器的日志级别:
shell> zabbix_server -R log_level_increase="vmware collector"
提高第二个 vmware 收集器的日志级别:
shell> zabbix_server -R log_level_increase="vmware collector,2"
如果不需要对 VMware 收集器数据进行扩展日志,可以使用-R log_level_decrease
选项进行停止。