Zabbix从version 2.2.0版本开始支持VMware环境监控.
Zabbix可通过低级发现规则自动发现VMware虚拟化平台和虚拟机,并基于预定义的主机原型create 主机进行监控.
Zabbix默认数据集提供多个开箱即用的模板,用于监控VMware vCenter或ESX虚拟化平台.
最低要求的VMware vCenter或vSphere version版本为5.1.
虚拟机监控分为两个步骤完成。首先,vmware collector Zabbix进程会收集虚拟机数据。这些进程通过SOAP协议从VMware Web服务获取必要信息,进行预处理后存储到Zabbix server共享memory中。随后,轮询器会使用Zabbix简单检查VMware keys来检索这些数据。
从Zabbix version 2.4.4版本开始,采集的数据分为两种类型:VMware配置数据和VMware性能计数器数据。这两种数据都由vmware collectors独立采集。因此建议启用的采集器数量应多于被监控的VMware服务数量。否则,VMware性能计数器统计数据的获取可能会因VMware配置数据的采集(在大型部署中耗时较长)而延迟。
目前只有数据存储、网络接口和磁盘设备统计信息以及自定义性能计数器监控项是基于VMware性能计数器信息的。
为使虚拟机监控正常工作,Zabbix需在编译时 4-配置源代码添加 --with-libxml2和--with-libcurl编译选项。
以下配置file选项可用于调整虚拟机 监控参数:
更多细节请参阅Zabbix server和 proxy的配置file页面。
要支持数据存储容量指标,Zabbix要求VMware配置中vpxd.stats.maxQueryMetrics参数值至少为64。另请参阅VMware知识库 article。
Zabbix可以通过低级发现规则自动发现 VMware 虚拟机监控程序与虚拟机。
所有必填字段均以红色星号标记。
上述截图中的发现规则键值为 vmware.hv.discovery[{$VMWARE.URL}].
主机原型可以通过低级发现规则创建。当虚拟机被发现时,这些原型将成为生成实际主机的基础。 在未被发现之前,原型不能拥有自己的监控项和触发器(来自链接模板的除外)。
为了使从原型创建的主机具有唯一的主机名称,主机名字段必须至少包含一个low-level discovery macro。
自Zabbix 5.2起,发现的主机可以配置自定义接口或继承发现规则所属一个主机的IP(默认)。要添加一个或多个自定义接口,需将接口选择器从继承切换到自定义模式,然后点击并从出现的下拉菜单中选择所需的接口类型。所有支持的接口类型都可以为一个主机原型定义:Zabbix agent、SNMP、JMX、IPMI。接口字段支持低级发现宏和user macros。 如果指定了多个自定义接口,请使用默认列指定主接口。
注意事项:
的一个主机原型选择继承
如果主机接口包含错误数据,一个主机将不会被创建
LLD宏还可用于可见名称、主机组原型字段、标签值或主机原型用户宏的值。
可以为一个主机原型指定的其他选项包括:
如果勾选创建启用,主机将以启用状态添加。如果未勾选,主机将被添加但处于禁用状态。
如果勾选发现(默认),主机将被创建。如果未勾选,主机将不会被创建,除非在覆盖中覆盖此设置。此功能为创建发现规则提供了额外的灵活性。
发现的主机在主机列表中会以创建它们的发现规则名称作为前缀。发现的主机可以手动删除。发现的主机也会根据发现规则的保留丢失资源周期(天)值自动删除。大多数配置选项是只读的,除了启用/禁用主机和主机资产清单。
Zabbix不支持嵌套的主机原型,即在通过低级发现规则发现的主机上不支持主机原型。
Zabbix默认数据集提供了多个开箱即用的模板,用于监控VMware vCenter或直接监控ESX虚拟机管理程序。这些模板包含预配置的LLD规则以及一系列内置检查项,用于监控虚拟化环境。
VMware vCenter和ESX虚拟机管理程序监控模板:
要使VMware FQDN模板正常工作,每台被监控虚拟机必须具有符合FQDN规则的唯一操作系统名称,且每台机器必须安装VMware Tools/Open Virtual Machine Tools。若满足这些条件,建议使用VMware FQDN模板。该模板的创建得益于Zabbix 5.2版本引入的create 主机与自定义接口功能。
传统的VMware模板仍然可用,当无法满足FQDN要求时可使用该模板。请注意,VMware模板存在已知的问题。发现的虚拟机主机将使用vCenter中保存的名称创建(例如VM1、VM2等)。若后续在这些主机上安装Zabbix agent active并启用自动注册,自动注册过程将读取主机启动时注册的名称(例如vm1.example.com、vm2.example.com等),由于未找到名称匹配项,create会新建主机。最终将导致每台机器存在两个名称不同的重复主机。
注意事项:
要使用VMware简单检查主机必须定义以下用户宏:
以下示例演示如何在Zabbix上快速设置VMware监控:
通过设置调试级别5可以记录VMware采集器收集的数据以进行详细调试。该级别可在 server和 proxy配置文件中设置, 或使用运行时控制选项 (-R log_level_increase="vmware collector,N"
,其中N为进程号)。 以下示例展示了在已设置调试级别4的情况下如何启动扩展日志记录:
# Increase log level of all vmware collectors:
zabbix_server -R log_level_increase="vmware collector"
# 提升第二个vmware采集器的日志级别:
zabbix_server -R log_level_increase="vmware collector,2"
若不需要VMware采集器数据的扩展日志记录,可使用-R log_level_decrease
选项停止该功能。
若指标不可用,请确认它们是否未被
made unavailable or turned off by default in recent VMware vSphere versions or if some limits are not placed on performance-metric database queries. See ZBX-12094 for additional details.
config.vpxd.stats.maxQueryMetrics
参数。该参数值应与VMware web.xml中的maxQuerysize
值相同。详见VMware知识库article