4 Пример настройки мониторинга VMware

Обзор

Следующий пример описывает, как настроить Zabbix для мониторинга виртуальных машин VMware. Это включает:

  • создание узла сети, представляющего вашу среду VMware;
  • создание правила низкоуровневого обнаружения, которое обнаруживает виртуальные машины в вашей среде VMware;
  • создание прототипа узла сети, на основе которого Zabbix будет создавать реальные узлы сети для виртуальных машин, обнаруженных правилом низкоуровневого обнаружения.

Предварительные требования

Этот пример не охватывает настройку VMware. Предполагается, что VMware уже настроен.

Прежде чем продолжить, установите параметр StartVMwareCollectors в конфигурационном файле сервера Zabbix в значение 2 или больше (по умолчанию используется значение 0).

Создание узла сети

1. Перейдите в Сбор данныхУзлы сети.

2. Создайте узел сети:

  • В поле Host name введите имя узла сети (например, "VMware VMs").
  • В поле Host groups введите или выберите группу узлов сети (например, "Virtual machines").

  • На вкладке Macros задайте следующие макросы узла сети:
    • {$VMWARE.URL} - URL SDK сервиса VMware (гипервизора ESXi) (https://servername/sdk)
    • {$VMWARE.USERNAME} - имя пользователя сервиса VMware
    • {$VMWARE.PASSWORD} - пароль пользователя {$VMWARE.USERNAME} сервиса VMware

3. Нажмите кнопку Add, чтобы создать узел сети. Этот узел сети будет представлять вашу среду VMware.

Создание правила низкоуровневого обнаружения

1. Нажмите Discovery для созданного узла сети, чтобы перейти к списку правил низкоуровневого обнаружения для этого узла сети.

2. Создайте правило низкоуровневого обнаружения:

  • В поле Name введите имя правила низкоуровневого обнаружения (например, «Обнаружение виртуальных машин VMware»).
  • В поле Type выберите "Simple check".
  • В поле Key введите встроенный ключ элемента данных для обнаружения виртуальных машин VMware: vmware.vm.discovery[{$VMWARE.URL}]
  • В полях User name и Password введите соответствующие макросы, ранее настроенные на узле сети.

3. Нажмите кнопку Add, чтобы создать правило низкоуровневого обнаружения. Это правило обнаружения найдет виртуальные машины в вашей среде VMware.

Создание прототипа узла сети

1. В списке правил низкоуровневого обнаружения нажмите Host prototypes для ранее созданного правила низкоуровневого обнаружения.

2. Создайте прототип узла сети. Поскольку прототипы узлов сети являются шаблонами для создания узлов сети с помощью правил низкоуровневого обнаружения, большинство полей будут содержать макросы низкоуровневого обнаружения. Это гарантирует, что узлы сети будут созданы со свойствами на основе содержимого, полученного ранее созданным правилом низкоуровневого обнаружения.

  • В поле Host name введите макрос {#VM.UUID}.
  • В поле Visible name введите макрос {#VM.NAME}.
  • В поле Templates введите или выберите шаблон "VMware Guest". Этот шаблон содержит элементы данных VMware и правила обнаружения для мониторинга состояния питания виртуальной машины, использования CPU, использования памяти, сетевых устройств и т. д.
  • В поле Host groups введите или выберите группу узлов сети (например, "Discovered hosts").
  • В поле Interfaces добавьте пользовательский интерфейс узла сети. Затем введите макрос {#VM.DNS} в поле DNS name или макрос {#VM.IP} в поле IP address. Либо, если виртуальные машины в вашей среде VMware имеют несколько интерфейсов, перейдите к разделу Расширенная настройка интерфейса узла сети. Настройка пользовательского интерфейса узла сети необходима для корректной работы шаблона VMware Guest.

  • На вкладке Macros задайте макрос {$VMWARE.VM.UUID} со значением {#VM.UUID}. Это необходимо для корректной работы шаблона VMware Guest, который использует этот макрос как пользовательский макрос уровня узла сети в параметрах элементов данных (например, vmware.vm.net.if.discovery[{$VMWARE.URL}, {$VMWARE.VM.UUID}]).

3. Нажмите кнопку Add, чтобы создать прототип узла сети. Этот прототип узла сети будет использоваться для создания узлов сети для виртуальных машин, обнаруженных ранее созданным правилом низкоуровневого обнаружения.

Просмотр узлов сети и метрик

После создания прототипа узла сети правило низкоуровневого обнаружения создаст узлы сети для обнаруженных виртуальных машин VMware, и Zabbix начнет их мониторить. Обратите внимание, что обнаружение и создание узлов сети при необходимости также можно выполнить вручную.

Чтобы просмотреть созданные узлы сети, перейдите в раздел меню Сбор данныхУзлы сети.

Чтобы просмотреть собранные метрики, перейдите в раздел меню МониторингУзлы сети и нажмите Последние данные для одного из узлов сети.

Расширенная настройка интерфейса узла сети

Ключ элемента данных vmware.vm.discovery[{$VMWARE.URL}], настроенный в разделе Создание правила обнаружения низкого уровня, возвращает данные о сетевых интерфейсах в поле "net_if":

"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. При создании правила обнаружения низкого уровня дополнительно настройте макрос обнаружения низкого уровня. На вкладке LLD macros создайте пользовательский LLD-макрос со значением JSONPath. Например:

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

2. При создании прототипа узла сети добавьте пользовательский интерфейс узла сети и введите LLD-макрос в поле DNS name или IP address.