Настройка SNMP на хостах VMWare ESXi

Настройка SNMP на хостах VMWare ESXi

Для мониторинга серверов VMWare ESXi можно использовать стандартный протокол SNMP. В этой статье мы покажем, как включить и настроить агент SNMP на хостах VMWare ESXi 8.0 (статья подходит для всех версий ESXi, включая 6.7 и 7.0) и добавить их в вашу систему мониторинга.

Встроенный SNMP агент в ESXi можно настроить из командной строки esxcli или PowerShell модуль VMware PowerCLI, но не через графический интерфейса клиента vSphere.

Включить и настроить службу SNMP Server в VMWare ESXi

Откройте веба интерфейса ESXi Host client и запустите службу SNMP Serer (snmpd): ESXi хост -> Manage -> Services -> SNMP Server (по умолчанию служба остановлена).

Включить службу SNMP Server в vmware esxi

Включите SSH доступ на ESXi хосте и подключитесь к нему с помощью ssh-клиента (я использую встроенный OpenSSH клиент Windows).

Вывести текущие настройки SNMP:

esxcli system snmp get

esxcli system snmp get - проверка настроек snmp в esxi

SNMP не настроен: все параметры пустые, агент отключен:

Authentication: Communities: Enable: false Engineid:  

Hwsrc: indications Largestorage: true Loglevel: info Notraps: Port: 161 Privacy: Remoteusers: Syscontact: Syslocation: Targets: Users: V3targets:

Зададим адрес сервера мониторинга (SNMP target), порт (по умолчанию 161 UDP) и имя SNMP community (обычно public):

esxcli system snmp set --targets=192.168.1.100@161/public

Если разрешить доступ для нескольких хостов мониторинга, укажите из через запятую:

esxcli system snmp set --targets=192.168.170.113@161/public,192.168.14.142@161/public

Задать имя community можно так:

esxcli system snmp set --communities YOUR_COMMUNITY_STRING

Дополнительно можно указать местоположение:

esxcli system snmp set --syslocation "Серверная Дуб. 22, МСК, RU"

Контакты

esxcli system snmp set --syscontact [email protected]

Теперь нужно включить сервис SNMP на хосте ESXi:

esxcli system snmp set --enable true

Чтобы протестировать конфигурацию SNMP:
esxcli system snmp test

esxi cli: включить и протестировать настройки snmp

Для применения настроек перезапустите службу SNMP командой:

/etc/init.d/snmpd restart

snmpd restart перезапуск службы snmp

Чтобы сбросить текущие настройки, выполните:

esxcli system snmp set –r

Для отключения SNMP, выполните:

esxcli system snmp set --disable true

Настройка файервола ESXi для SNMP трафика

Вы можете разрешить трафик SNMP в файерволе хоста ESXi двумя способами. Чтобы разрешить получение SNMP запросов от любых устройств в сети:

esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true
esxcli network firewall ruleset set --ruleset-id snmp --enabled true

Либо вы можете разрешить входящий трафик только от конкретного IP адреса вашего сервера мониторинга, или определенной IP подсети, в которой находятся ваши SNMP сервера:

esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false
esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 192.168.1.0/24
esxcli network firewall ruleset set --ruleset-id snmp --enabled true

Теперь вы можете мониторить ваши ESXi сервера.

Настройка параметров SNMP на хосте ESXi через PowerShell

Если вам нужно быстро настроить параметры SNMP на нескольких хостах ESXi, вы можете воспользоваться PowerShell скриптом:

$ESXi = 'msk-esxi01'
$Community = 'Public'
$Target = '192.168.1.100'
$Port = '161'
#Подключение к хосту ESXi
Connect-VIServer -Server $sESXiHost
#Очистка текущих настроек SNMP
Get-VMHostSnmp | Set-VMHostSnmp -ReadonlyCommunity @()
#Настройка параметров SNMP
Get-VMHostSnmp | Set-VMHostSnmp -Enabled:$true -AddTarget -TargetCommunity $Community -TargetHost $Target -TargetPort $Port -ReadOnlyCommunity $Community
#Вывод текущих параметров SNMP
$Cmd= Get-EsxCli -VMHost $ESXiHost
$Cmd.System.Snmp.Get()

Если у вас есть продвинутая лицензия VMWare Enterprise Plus, вы можете настроить параметр SNMP на ESXi хостах через Host Profiles (Policies and Profiles -> Host Profiles -> ваш профиль -> Other SNMP Agent Configuration).

Настройте здесь следующие опции:

  • Enable or Disable agent: выбрать
  • IP/UDP Port: 161
  • SNMP Community String: public
  • Notification Receiver: задайте адрес сервера мониторинга в формате 192.168.14.140@161/public

Настройка параметров SNMP агента через esxi host profiles

Включить протокол SNMPv3 на VMware ESXI

Выше мы рассмотрели, как включить и настроить на хостах ESXi SNMP агент версии 1 и 2. Начиная с ESXi 5.1 поддерживается более современная и безопасная версия SNMP v3.

Включить поддержку протоколов аутентификации и шифрования для SNMP:

esxcli system snmp set -a SHA1 -x AES128

Сгенерируйте хэши для паролей аутентификации и шифрования (замените authpass1 и privhash1 на нужный пароль):

esxcli system snmp hash --auth-hash authpass1 --priv-hash privhash1 --raw-secret

esxcli: создать хэши snmp 3

Скопируйте значение полученных хэшей (authhash1 и privhash1) в следующую команду, чтобы создать SNMP пользователя (snmpuser):

esxcli system snmp set -e yes -C [email protected] -u snmpuser/authhash/privhash/priv

Теперь нужно указать SNMP-таргет:

esxcli system snmp set --v3targets 192.168.14.142@161/snmpuser/priv/trap

Вы можете удаленно проверить SNMP конфигурацию с помощью Linux утилиты snmpwalk:

snmpwalk -v3 -u snmpuser -l AuthPriv -a SHA -A authpass1 -x AES -X privhash1 192.168.13.59

snmpwalk тестировани snmp 3 на esxi

Теперь вы можете добавить ESXi хост в вашу систему мониторинга.

Например, Zabbix по умолчанию предлагает использовать мониторинг VMware ESXi через API (предустановленный шаблон) без использования SNMP.

Вы можете скачать и импортировать шаблон для ESXi с поддержкой SNMP здесь (https://www.zabbix.com/integrations/vmware#3rd_party).

После этого добавьте новый хост ESXi и настройте параметры доступа к нему через SNMPv3.

zabbix: добавить мониторинг snmp агента на vmware esxi

VMware
Настройка SNMP на хостах VMWare ESXi