4 VMware 监控配置示例

概述

以下示例描述了如何设置 Zabbix 以监控 VMware 虚拟机。这包括:

  • 创建代表您的 VMware 环境的 一个主机;
  • 创建一个低级别自动发现规则,用于发现您的 VMware 环境中的虚拟机;
  • 创建 一个主机 原型,Zabbix 将根据该原型 generate 实际的 主机,用于低级别自动发现规则所发现的虚拟机。

先决条件

本示例不涵盖VMware的配置。假设VMware已经配置完成。

在继续之前,请在Zabbix server配置file中将StartVMwareCollectors参数设置为2 配置(默认值为0)。

创建 一个主机

  1. 转至 数据收集Hosts

  2. Create 一个主机:

  • 主机名 字段中,输入 一个主机 名称(例如,“VMware VMs”)。
  • 主机 群组 字段中,键入或选择 一个主机 群组(例如,“Virtual machines”)。

  • 选项卡中,设置以下 主机宏:
    • {$VMWARE.URL} - VMware 服务(ESXi 虚拟机管理程序)SDK URL(https://servername/sdk)
    • {$VMWARE.USERNAME} - VMware 服务用户名
    • {$VMWARE.PASSWORD} - VMware 服务 {$VMWARE.USERNAME} 用户密码

  1. 点击 添加 按钮以 create 主机。此 主机 将代表您的 VMware 环境。

创建低级别自动发现规则

  1. 点击已创建的 主机 的 Discovery,进入该 主机 的低级别自动发现规则列表。

  2. 配置低级发现 一个低级别自动发现规则:

  • Name 字段中,输入低级别自动发现规则的名称(例如,“Discover VMware VMs”)。
  • Type 字段中,选择 "Simple check"。
  • Key 字段中,输入用于发现 VMware 虚拟机的内置 监控项 键:vmware.vm.discovery[{$VMWARE.URL}]
  • User namePassword 字段中,输入先前在 主机 上配置的相应宏。

  1. 点击 Add 按钮以 create 低级别自动发现规则。 此发现规则将发现 VMware 环境中的虚拟机。

创建 一个主机 原型

  1. 在低级别自动发现规则列表中,点击之前创建的低级别自动发现规则的 主机 原型

  2. 配置 一个主机 原型。 由于 主机 原型是通过低级别自动发现规则创建 主机 的蓝图,因此大多数字段将包含 low-level discovery macros。 这确保了由先前创建的低级别自动发现规则根据content retrieved将创建具有相应属性的主机。

  • 主机名 字段中,输入宏 {#VM.UUID}。
  • 可见名称 字段中,输入宏 {#VM.NAME}。
  • 模板 字段中,输入或选择“VMware Guest”模板。 此模板包含VMware items以及用于监控虚拟机电源状态、CPU使用情况、memory使用情况、网络设备等的发现规则。
  • 主机 群组 字段中,输入或选择 一个主机 群组(例如,“已发现 主机”)。
  • 接口 字段中,添加一个自定义的 主机-接口。 然后,在DNS名称字段中输入宏 {#VM.DNS},或者在IP地址字段中输入宏 {#VM.IP}。 或者,如果您的VMware环境虚拟机具有多个接口,请转至 高级 主机 接口配置 部分。 为确保 VMware Guest 模板的正常运行,必须配置自定义的 主机 接口。

  • 选项卡中,设置 {$VMWARE.VM.UUID} 宏的值为 {#VM.UUID}。 这对于使用此宏作为一个主机级别用户宏的VMware Guest模板的正确运行是必要的,在监控项参数中使用 (for example, vmware.vm.net.if.discovery[{$VMWARE.URL}, {$VMWARE.VM.UUID}]).

  1. 点击 添加 按钮以create 主机原型。 此 主机 原型将用于对之前创建的低级别自动发现规则所发现的虚拟机进行 create 主机。

查看 主机 和指标

在创建了 主机 原型后,低级别自动发现规则将 create 已发现的 VMware 虚拟机的 主机,并且 Zabbix 将开始监控这些虚拟机。 请注意,如有必要,主机的发现和创建也可以被executed manually

要查看已创建的主机,请导航至Data collectionHosts菜单部分。

要查看已收集的指标,请导航到 MonitoringHosts 菜单部分,并点击其中一个 主机 的 最新数据

高级 主机 接口配置

创建低级别自动发现规则 部分中配置的 vmware.vm.discovery[{$VMWARE.URL}] 监控项 键,将在 "net_if" field 中返回网络接口数据:

"net_if": [
             {
               "ifname": "5000",
               "ifdesc": "Network adapter 1",
               "ifmac": "00:11:22:33:44:55",
               "ifconnected": true,
               "iftype": "VirtualVmxnet3",
               "ifbackingdevice": "VLAN(myLab)",
               "ifdvswitch_uuid": "",
               "ifdvswitch_portgroup": "",
               "ifdvswitch_port": "",
               "ifip": [
                 "127.0.0.1",
                 "::1"
               ]
             },
             {
               "ifname": "5001",
               "ifdesc": "Network adapter 2",
               "ifmac": "00:11:22:33:44:55",
               "ifconnected": false,
               "iftype": "VirtualVmxnet3",
               "ifbackingdevice": "VLAN(myLab2)",
               "ifdvswitch_uuid": "",
               "ifdvswitch_portgroup": "",
               "ifdvswitch_port": "",
               "ifip": []
             }
           ]

可以使用此数据来配置自定义的 主机 接口。

1. 在 创建低级别自动发现规则 时,还需配置一个 low-level discovery macro
LLD宏 选项卡中,create 一个具有 JSONPath 值的自定义LLD宏。例如:

  • {#MYLAB.NET.IF} - $.net_if[?(@.ifbackingdevice=="VLAN(myLab)")].ifip[0].first()

2. 在 创建 一个主机 原型 时,添加一个自定义的 主机 接口,并在 DNS名称IP地址 字段中输入LLD宏。