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} 用户密码

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

创建低级别自动发现规则

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

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

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

3。点击 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}]).

3。点击 添加 按钮以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宏。