10 虚拟机监控

概述

Zabbix 可以使用 low-level discovery 规则来自动发现 VMware 虚拟机管理程序和虚拟机,
并使用 create 主机 来基于预定义的 host prototypes 对其进行监控。

Zabbix 还包含 ready-to-use templates,用于监控 VMware vCenter 或 ESXi 虚拟机管理程序。

所需的最低 VMware vCenter 或 vSphere version 版本为 5.1。

数据收集

虚拟机监控包括两个步骤:

  1. Zabbix vmware collector 进程收集虚拟机数据 - 这些进程通过 SOAP 协议从 VMware Web 服务中获取必要的信息,进行预处理,并将其存储在 Zabbix server 共享内存中。

  2. Zabbix poller 进程使用 Zabbix 简单检查 VMware monitoring item keys 获取数据。

Zabbix 将收集的数据分为 VMware 配置数据和 VMware 性能计数器数据。 这两类数据均由 vmware collector 进程独立收集。

根据 VMware 性能计数器信息,可以获取以下统计信息:

  • 数据存储
  • 磁盘设备
  • CPU
  • 电源
  • 网络接口
  • 自定义性能计数器 监控项

有关从 VMware 性能计数器获取数据的 监控项 完整列表,请参见 脚注

请注意,VMware 事件检索的频率取决于 vmware.eventlog 的轮询间隔,但不能小于 5 秒。

配置

如果Zabbix server是从sources编译的,则必须使用--with-libcurl --with-libxml2配置选项进行编译以启用虚拟机监控。 Zabbix软件包已默认启用这些选项

以下 Zabbix server 配置 file 参数可针对虚拟机监控进行修改:

建议启用的采集器数量应多于受监控的VMware服务数量. 否则,VMware性能计数器统计数据的获取可能会因VMware配置数据的检索而延迟(对于大型安装环境,配置数据检索需要较长时间)。

通常,StartVMwareCollectors的值不应低于2,且不应超过受监控VMware服务数量的两倍:服务数量 < StartVMwareCollectors < (服务数量 * 2). 例如,当监控一个VMware服务时,将StartVMwareCollectors设置为2;当监控三个服务时,将StartVMwareCollectors设置为5

请注意,所需的采集器数量还取决于VMware环境的范围,以及VMwareFrequencyVMwarePerfFrequency配置参数。

为支持数据存储容量指标,请确保VMware vpxd.stats.maxQueryMetrics 键的值至少设置为 64。 更多信息,请参阅VMware Knowledge Base article

发现

Zabbix 可以使用低级别自动发现规则(例如,vmware.hv.discovery[{$VMWARE.URL}])来自动发现 VMware 超级管理程序和虚拟机。
此外,Zabbix 可以使用 主机 原型来为已发现的实体自动 generate 实际的 主机。
更多信息,请参见 Host prototypes

配置示例

关于如何使用 VMware FQDN 模板配置 Zabbix 以监控 VMware 的基本示例,请参见 Monitor VMware with Zabbix

关于如何使用 create 一个主机、低级别自动发现规则以及 一个主机 原型来监控 VMware 的更详细示例,请参见 Setup example

扩展日志记录

通过 vmware collector 进程收集的数据可以使用调试级别 5 进行详细调试日志记录。 调试级别可以在debugleveldebuglevel配置文件中进行配置 或使用运行时控制选项 -R log_level_increase="vmware collector,N",其中“N”是进程编号。

例如,要将所有 vmware collector 进程的调试级别从 4 提高到 5,请run 使用以下命令:

zabbix_server -R log_level_increase="vmware collector"

要将第二个 vmware collector 进程的调试级别从 4 提升到 5,请执行以下命令:run

zabbix_server -R log_level_increase="VMware 采集器,2"

当不再需要扩展记录VMware收集器数据时,建议通过运行 -R log_level_decrease 命令将调试级别降低至默认值(3)。

故障排除

  • 如果某些指标不可用,请确保它们没有在最新的 VMware vSphere 版本中被默认禁用或不可用,或者性能指标数据库上是否设置了某些限制 queries。 更多信息,请参阅 ZBX-12094
  • 如果出现 config.vpxd.stats.maxQueryMetrics 无效或超出允许的最大字符数错误,请向 vCenter Server 设置中添加一个 config.vpxd.stats.maxQueryMetrics 参数。 此参数的值应与 VMware 的 web.xml 文件中 maxQuerysize 的值相同。 更多信息,请参阅 VMware Knowledge Base article
  • 如果怀疑您的 Zabbix 安装使用了过多内存,请参阅 Profiling excessive memory usage with tcmalloc