ZABBIX Monitor VMware Host

2020-03-24 11:36:16 浏览数 (1)

介绍

VMware监控分两个步骤完成

①Zabbix 是通过 vmware collector 进程来监控虚拟机。这些进程通过 SOAP 协议从 VMware Web 服务获取必要的信息,对其进行预处理并存储到 Zabbix server 共享内存中。

②zabbix pollers 通过 zabbix 简单检查 VMware keys 来检索这些数据。

整体步骤

①.修改服务端的zabbix_server.conf文件打开对vmware监控的支持

②.在vcenter的机器上添加只读用户作为ZABBIX监控专用账户

③.ZABBIX Web 添加vcenter的监控模板和宏

注意:vcenter服务端不需要安装zabbix_agent客户端,如果ZABBIX Server是编译安装需要加上 –with-libxml2 和 –with-libcurl 编译选项。

配置文件说明

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

ZABBIX Monitor VMware vCenter

vCenter 添加zabbix监控账户

ssh登录vcenter服务器,添加一个普通用户,并将这个用户添加到vcenter的只读组中

# 添加zabbix作为只读用户

注意:需要勾选传播到子对象,否则账户将对EXSI主机没有查看权限,为了安全起见,在vCenter 创建只读账户用于ZABBIX监控即可。

测试vCenter 账号

可以访问需要调用的接口https://ip/mob 输入刚才的只读用户账号密码

ZABBIX web 添加监控vCenter

页面只需填写“主机名称”、“可见的名称”、“主机群组”、“agent IP地址”即可,“agent代理程序的接口”需要写 443。

注意:

①由于监控进程使用soap协议获取虚拟机信息,直接通过https://ip/sdk,返回400是正常现象

②zabbix 监控vCenter 6.5以上版本时需要在web client中主机系统高级设置里面打开

Config.HostAgent.plugins.solo.enableMob 右键把值改为true

设置宏

代码语言:javascript复制
{$PASSWORD} => zabbix@zabbix 
{$URL} => https://172.18.51.247/sdk
{$USERNAME} => zabbix
---------------------------------------------------------------------------------
{$URL} - VMware 服务 (vCenter or ESXI hypervisor) SDK URL (https://servername/sdk).
{$USERNAME} - VMware 服务用户名
{$PASSWORD} - VMware 服务{$ USERNAME}用户密码

配置监控模板

监控vCenter 主机模板页面只需添加“Template Virt VMware”即可。

“Template VM VMware“模板应用于 VMware vCenter 和 ESXI hypervisor 监控。

”Template VM VMware Guest“和”Template VM VMware Hypervisor“模板由自动发现使用,通常设置为自动链接到主机。

注意:如果不需要监控EXSI上的虚拟机需要在Template VM Vmware模板自动发现规则中把 Discover VMware VMs停用。

Discover VMware VMs链接的模板是Template VM VMware Guest模板。

自动发现vCenter上的集群、ESXI主机和监控项

添加自定义监控项

CPU item

键值:vmware.hv.cpu[usedpercent]

计算公式:

代码语言:javascript复制
100*last("vmware.hv.cpu.usage[{$URL},{HOST.HOST}]")/(last("vmware.hv.hw.cpu.freq[{$URL},{HOST.HOST}]")*last("vmware.hv.hw.cpu.num[{$URL},{HOST.HOST}]"))

Memory item

键值:vmware.hv.memory[usedpercent]

计算公式:

代码语言:javascript复制
100*last("vmware.hv.memory.used[{$URL},{HOST.HOST}]")/last("vmware.hv.hw.memory[{$URL},{HOST.HOST}]")

CPU和Memory 触发器

宏设置

CPU Triggers

Memory Triggers

Storage

存储触发器

ZABBIX Monitor VMware ESXI

监控EXSI主机使用Template VM VMware Hypervisor模板,需要预先查询ESXI主机的UUID。

ESXI UUID

6.0以前版本查询方式

代码语言:javascript复制
https://<host>/mob/?moid=ha-host&doPath=hardware.systemInfo

6.0以后的版本禁用mob ui, 需要ssh系统查看

代码语言:javascript复制
vim-cmd hostsvc/hostsummary | grep uuid

Macros

代码语言:javascript复制
Needs 4 Macros Set:
{$URL}   = https://ESXI_SERVER_IP/sdk/
{$UUID}  = See Notes
{$USERNAME} = ESXi Login
{$PASSWORD} = ESxi Password

添加esxi主机

配置宏

0 人点赞