Настраиваем мониторинг отдельного хоста ESXi в Zabbix

Print Friendly, PDF & Email

Задача:

Добавить standalone сервер VMWare ESXi в систему мониторинга zabbix с автоматическим обнаружением параметров гипервизора и виртуальных машин с настройками.

---------------------------------------------------------------

Настраивать буду мониторинг для standalone сервера ESXi. Это подразумевает отсутствие vCenter или других средств управления, автоматизации сервером VMware. Standalone server – это отдельный сервер, не нуждающийся в каких-либо зависимостях или дополнительных программах для его функционирования.

Мне не известен вариант установики zabbix-agent на гипервизор ESXi, но исходя из документации мы можем воспользоваться SOAP.

SOAP (Simple Object Access Protocol – простой протокол доступа к объектам) — протокол обмена структурированными сообщениями, является расширением протокола XML-RPC. Первоначально он предназначался для реализации удалённого вызова процедур (RPC), но сейчас используется также для обмена сообщениями в формате XML.

Работать это будет примерно так:

Zabbix используя SOAP-протокол обращается к ESXi и обменивается сообщениями в формате XML.

Итак имеем следующие конфигурации для настройки:

  • Гипервизор VMware ESXi 6.7.0 (Build 8169922) с несколькими виртуальными машинами
  • Система zabbix 5.2, установленная из готового решения. Где брать и как устанавливать готовое решение забикс, можно глянуть в статье: “Мониторинг скорости интернет канала в Zabbix“.
  • Забикс установлен в виртуальной среде (CPUs: 4, Memory: 4 GB, STORAGE: 16 GB) на операционной системе CentOS:
[root@appliance ~]# uname -a
Linux appliance 4.18.0-240.1.1.el8_3.x86_64 #1 SMP Thu Nov 19 17:20:08 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@appliance ~]# cat /etc/redhat-release
CentOS Linux release 8.3.2011
[root@appliance ~]# 

Если вы самостоятельно устанавливали и настраивали заббикс, необходимо проверить, чтобы сервер был собран с поддержкой библиотек (–with-libxml2) и (–with-libcurl).

 [root@appliance ~]#  ldconfig -p | grep -E 'libcurl|libxml2'
        libxml2.so.2 (libc6,x86-64) => /lib64/libxml2.so.2
        libcurl.so.4 (libc6,x86-64) => /lib64/libcurl.so.4
[root@appliance ~]#

Так как система zabbix уже установлена со скачанного образа, все необходимое уже есть.

Для активации мониторинга esxi, изменяем конфиг Zabbix. Найти его можно по пути:

/etc/zabbix/zabbix_server.conf

У забикса есть несколько вещей относящихся к VMware ESXi:

  • StartVMwareCollectors – Количество префорк процессов vmware коллектора. Диапазон значений от 0 до 250. Значение по умолчанию: 0
  • VMwareFrequency – Как часто Zabbix будет подключаться к серверу VMware для получения новых данных. (Стандартное значение: 60 секунд. Диапазон: 10-86400)
  • VMwarePerfFrequency – Как часто Zabbix будет подключаться к сервису VMware для получения данных о производительности. (Default: 60. Range: 10-86400)
  • VMwareCacheSize – Размер кеша VMware в байтах. Размер общей памяти для хранения данных VMware. Используется, только если запущены сборщики VMware. (Default: 8M Range: 256K-2G)
  • VMwareTimeout – сколько секунд сборщик vmware ожидает ответа от службы VMware. (Default: 10 Range: 1-300)

Для мониторинга автономного (Standalone server) сервера, StartVMwareCollectors прямолинейно зависим от количества мониторинговых параметров. В варианте с имеющимся vCenter устанавливайте это параметр из расчета: количество vCenter серверов умноженное на 1,5. Если vCenter сервер только один, устанавливаем StartVMwareCollectors=2.

Часть моего конфига:

[root@appliance ~]# cat /etc/zabbix/zabbix_server.conf | grep VMware
### Option: StartVMwareCollectors
# StartVMwareCollectors=0
StartVMwareCollectors=100
### Option: VMwareFrequency
#       How often Zabbix will connect to VMware service to obtain a new data.
# VMwareFrequency=60
### Option: VMwarePerfFrequency
#       How often Zabbix will connect to VMware service to obtain performance data.
# VMwarePerfFrequency=60
### Option: VMwareCacheSize
#       Size of VMware cache, in bytes.
#       Shared memory size for storing VMware data.
#       Only used if VMware collectors are started.
# VMwareCacheSize=8M
### Option: VMwareTimeout
#       Specifies how many seconds vmware collector waits for response from VMware service.
# VMwareTimeout=10
[root@appliance ~]#

После изменений необходимо перезапустить службу заббикс

[root@appliance ~]# systemctl restart zabbix-server.service

Проверяем, , что поддержка VMware включена. Увидеть это можно в лог-файле.

[root@appliance ~]# cat /var/log/zabbix/zabbix_server.log | grep vmware

Опция “VMware monitoring” должна быть активирована

2817878:20210401:231508.965 Zabbix Server stopped. Zabbix 5.2.3 (revision ae46273eae).
2818142:20210401:231508.977 Starting Zabbix Server. Zabbix 5.2.3 (revision ae46273eae).
2818142:20210401:231508.977 ****** Enabled features ******
2818142:20210401:231508.977 SNMP monitoring:           YES
2818142:20210401:231508.977 IPMI monitoring:           YES
2818142:20210401:231508.977 Web monitoring:            YES
2818142:20210401:231508.977 VMware monitoring:         YES
2818142:20210401:231508.977 SMTP authentication:       YES
2818142:20210401:231508.977 ODBC:                      YES
2818142:20210401:231508.977 SSH support:               YES
2818142:20210401:231508.977 IPv6 support:              YES
2818142:20210401:231508.977 TLS support:               YES
2818142:20210401:231508.977 ******************************

Также можно увидеть запуск коллекторов

[root@appliance ~]# cat /var/log/zabbix/zabbix_server.log | grep vmware
1318026:20210222:215431.503 server #18 started [vmware collector #1]
1318027:20210222:215431.503 server #19 started [vmware collector #2]
1318028:20210222:215431.503 server #20 started [vmware collector #3]
1318029:20210222:215431.504 server #21 started [vmware collector #4]
1318030:20210222:215431.504 server #22 started [vmware collector #5]
1318083:20210222:215445.865 server #18 started [vmware collector #1]
1318084:20210222:215445.866 server #19 started [vmware collector #2]
1318085:20210222:215445.867 server #20 started [vmware collector #3]
1318086:20210222:215445.867 server #21 started [vmware collector #4]
1318087:20210222:215445.868 server #22 started [vmware collector #5]
...

Далее создаём отдельного пользователя на сервере ESXi с read-only правами

После этого во вкладке “Actions” находим “Permissions”

Находим только что созданного пользователя и выбираем роль read-only

Для подключения ESXi сервера к ZAbbix, нам необходимо выяснить UUID хоста. Для этого открываем в браузере адрес

https://<host>/mob/?moid=ha-host&doPath=hardware.systemInfo

Если при открытии получили ошибку:

503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x00000055d7e23420] _serverNamespace = /mob action = Allow _pipeName =/var/run/vmware/proxy-mob)

Необходимо запустить сервис “Config.HostAgent.plugins.solo.enableMob

Также uuid хоста можно узнать, выполнив в консоли сервера команду

[root@vm:~] vim-cmd hostsvc/hostsummary | grep uuid
      uuid = "03de0294-0480-05a6-8b06-9f0700080009",
[root@vm:~]

Далее нам необходимо импортировать zabbix шаблон для Standalone ESXi сервера. Найти template можно на официальном сайте по имени “TEMPLATE – VMWARE – STANDALONE ESXI HOST.xml”. Для импорта переходим: конфигурация > шаблоны > и в правом верхнем углу нажимаем “импорт”

выбираем файл и импортируем

Теперь можно добавить сервер и

Не забываем что для работы нам необходимы макросы:

{$URL}   = https://ESXI_SERVER_IP/sdk/
{$UUID}  = See Notes
{$USERNAME} = ESXi Login
{$PASSWORD} = ESxi Password

указываем и сохраняем.

Возможные ошибки:

No “vmware collector” processes started

проверьте логи zabbix, активирована ли опция мониторинга vmware и запущены ли коллекторы

Помогла статья? Есть возможность отблагодарить автора

QR Link:

QR Code

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *