zabbix3.4监控VMware ESXI虚拟主机

简介

为了解ESXI虚拟主机的运行状况,通过zabbix进行监控,图形展示ESXI虚拟主机当前的状态。

在此我们直接引用zabbix官方介绍虚拟机监控,并对个别地方进行补充描述。

概述

从 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 性能统计信息只有数据存储,网络接口和磁盘设备统计信息和自定义性能计数器项。

**注意:**由于监控进程使用soap协议获取虚拟机信息,直接通过http://ip/sdk,返回404是正常现象。

准备

要使虚拟机监控正常工作,编译 Zabbix 时应加上 --with-libxml2 和 --with-libcurl 编译选项。

1.调整虚拟机监控:

#修改配置文件
vim zabbix_server.conf
StartVMwareCollectors=6
VMwareCacheSize=50M
VMwareFrequency=10
VMwarePerfFrequency=60
VMwareTimeout=300

其中:
StartVMwareCollectors:vmware 收集器实例的数量。
此值取决于要监控的 VMware 服务的数量。在大多数情况下,这应该是:
servicenum < StartVMwareCollectors < (servicenum * 2)
其中 servicenum 是 VMware 服务的数量。例如:如果您有 1 个 VMware 服务要将 StartVMwareCollectors 设置为 2,那么如果您有 3 个 VMware 服务,请将其设置为 5。请注意,在大多数情况下,此值不应小于 2,不应大于 VMware 数量的 2 倍服务。
VMwareCacheSize:VMwareFrequency=10。
用于存储VMware数据的共享内存大小。
VMwareFrequency:从单个VMware服务收集数据之间的延迟(秒)。
VMwarePerfFrequency:从单个VMware服务检索性能计数器统计信息之间的延迟(秒)。
VMwareTimeout:响应超时时间

2.重启

systemctl restart zabbix_server
查看启动日志

 19995:20180411:092711.023 Starting Zabbix Server. Zabbix 3.4.7 (revision 77720).
 19995:20180411:092711.023 ****** Enabled features ******
 19995:20180411:092711.023 SNMP monitoring:           YES
 19995:20180411:092711.023 IPMI monitoring:            NO
 19995:20180411:092711.023 Web monitoring:            YES
 19995:20180411:092711.023 VMware monitoring:         YES
 19995:20180411:092711.023 SMTP authentication:       YES
 19995:20180411:092711.023 Jabber notifications:       NO
 19995:20180411:092711.023 Ez Texting notifications:  YES 
 19995:20180411:092711.023 ODBC:                       NO
 19995:20180411:092711.023 SSH2 support:               NO
 19995:20180411:092711.023 IPv6 support:               NO
 19995:20180411:092711.023 TLS support:                NO
 19995:20180411:092711.023 ******************************

VMware monitoring状态为YES,说明zabbix server启动vmware监控。

配置

前面说过,Zabbix中默认提供了几个模板,可以直接用来监控 VMware vCenter 或 ESX hypervisor。由于我们的ESXI主机使用vCenter集中管理,因此使用zabbix监控vCenter。

1.添加主机

zabbix3.4监控VMware ESXI虚拟主机_第1张图片
“主机”页面只需填写“主机名称”、“可见的名称”即可,“agent代理程序的接口”使用默认即可。

2.添加模板

zabbix3.4监控VMware ESXI虚拟主机_第2张图片
“模板”页面只需添加“Template VM VMware”即可。“Template VM VMware“模板应用于 VMware vCenter 和 ESX hypervisor 监控。 ”Template VM VMware Guest“和”Template VM VMware Hypervisor“模板由自动发现使用,通常设置为自动链接到主机。

3.设置宏

zabbix3.4监控VMware ESXI虚拟主机_第3张图片

{$URL} - VMware 服务 (vCenter or ESX hypervisor) SDK URL (https://servername/sdk).
{$USERNAME} - VMware 服务用户名
{$PASSWORD} - VMware 服务{$ USERNAME}用户密码

安全起见,在vCenter 上只需为zabbix添加一个只读用户即可。

4.监测最新数据

(1)查看vCenter的最新数据
zabbix3.4监控VMware ESXI虚拟主机_第4张图片
查看vCenter的最新数据,我们可以看到集群健康状态、Full name、Version等信息。
(2)查看自动发现的主机及虚拟机
待自动发现执行后,我们会发现在“配置”-“主机群组”页面多了几个自动发现的群组:
zabbix3.4监控VMware ESXI虚拟主机_第5张图片

这就是我们整个vmware集群中所有虚拟主机及虚拟机,其中unicom-ha/unicom-idc是虚拟主机、unicom-ha(vm)/unicom-idc(vm)是所有的虚拟机。

5.添加图形

除了监测最新数据,发现相关图形监控较少,因此我们针对虚拟主机CPU、内存等参数添加图形。
由于自动发现的虚拟主机,使用的是“Template VM VMware Hypervisor”模板,而虚拟机的使用的是“Template VM VMware Guest”模板。
在此以添加虚拟主机图形为例。
(1)cpu unitlization
zabbix3.4监控VMware ESXI虚拟主机_第6张图片
其中:
cpu cores 24:cpu核数
cpu frequency 2.2GHz: cpu主频
cpu thread 48: cpu线程,从此可看出为超线程
cpu usage 25GHZ: cpu使用情况,由此可计算: 25/(24*2.2)=47.3%,cpu使用率为47.3%。计算时以cpu核数为准,不要以超线程的数量为准。

(2)Number of bytes received/transmitted/vms
zabbix3.4监控VMware ESXI虚拟主机_第7张图片
Number of bytes received:收到的字节数
Number of bytes transmitted:发出的字节数
Number of bytes vms:虚拟主机中包含的虚拟机数量

启动的图形,可根据实际情况手动添加。

6.添加触发器

当自动发现所有的虚拟主机和虚拟机后,我们发现涉及的3个模板只有监控项,而没有触发器。
使用“Template VM VMware Hypervisor”模板。
(1)监控虚拟主机状态
zabbix3.4监控VMware ESXI虚拟主机_第8张图片
(2)监控虚拟主机cpu
zabbix3.4监控VMware ESXI虚拟主机_第9张图片

其他触发器,可根据实际情况添加。

总结

除了上面介绍的修改服务端实现对整个vcenter或单台esxi主机进行监控,还可以使用通过SNMP和ESXI主机来进行监控,需要修改esxi主机本身的配置。不过不是很建议使用此方法,容易对本级本身造成不安全的因素。第一种方法是zabbix3.x以后的最新版本常用的,比较方便快捷,建议使用此种方式。

如果你对博文感兴趣,请关注我的公众号“木讷大叔爱运维”,与你分享运维路上的点滴。
zabbix3.4监控VMware ESXI虚拟主机_第10张图片

你可能感兴趣的:(系统监控)