Налаштування SNMP на хостах VMWare ESXi

Якщо ви хочете відслідковувати стан серверів VMWare ESXi у своїй корпоративній системі моніторингу, вам потрібно включити і налаштування на хостах віртуалізації службу SNMP. У цій статті ми покажемо, як включити і налаштувати службу SNMP в VMWare ESXi 6.7 (стаття підходить для всіх актуальних версій ESXi, починаючи з 5.5).

У ESXi є вбудований SNMP агент, який може відправляти і отримувати запити і трапи. Ви можете включити і налаштувати агент SNMP на ESXi хостах декількома способами: через vCLI, PowerCLI, але не через графічний інтерфейс клієнта vSphere.

зміст:

  • Служба SNMP Server в VMWare ESXi
  • Налаштування параметрів SNMP агента в ESXi
  • Налаштування брандмауера ESXi для SNMP трафіку
  • Налаштування параметрів SNMP на хості ESXi через PowerCLI
  • Налаштування протоколу SNMPv3 на ESXI

Служба SNMP Server в VMWare ESXi

З інтернету інтерфейсу vSphere ви можете тільки перевірити, що служба SNMP сервер запущено, змінити режим її запуску, зупинити / запустити сервіс. Перейдіть на свій ESXi хост -> Configure -> Services -> SNMP Server. За замовчуванням служба зупинена. запустіть її.

Увімкніть SSH доступ на ESXi хості і підключіться до нього будь-яким ssh-клієнтом (я використовую вбудований OpenSSH клієнт Windows 10).

Щоб перевірити поточні налаштування SNMP, виконайте команду:

esxcli system snmp get

SNMP не налаштований: всі параметри порожні, агент відключений:

Authentication: Communities: Enable: false Engineid: Hwsrc: indications Largestorage: true Loglevel: info Notraps: Port: 161 Privacy: Remoteusers: Syscontact: Syslocation: Targets: Users: V3targets:

Налаштування параметрів SNMP агента в ESXi

Зазначимо адресу сервера моніторингу (SNMP target), порт (за замовчуванням 161 UDP) і ім'я SNMP community (зазвичай public):

esxcli system snmp set --targets=192.168.1.100@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

Для застосування налаштувань запустіть службу SNMP командою:

/etc/init.d/snmpd restart

Щоб скинути поточні настройки, виконайте:

esxcli system snmp set -r

Для відключення SNMP, виконайте:

esxcli system snmp set --disable true

Налаштування брандмауера ESXi для SNMP трафіку

Ви можете дозволити трафік SNMP в файервол хоста ESXi двома способами. Щоб дозволити отримання SMNP запитів від будь-яких пристроїв в мережі:

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 через PowerCLI

Якщо вам потрібно швидко налаштувати параметри SNMP на декількох хостах ESXi, ви можете скористатися скриптом в PowerCLI:

$ 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 (Management -> Host Profiles -> your Profile -> SNMP Agent Configuration).

Налаштування протоколу SNMPv3 на ESXI

Вище ми розглянули, як включити і налаштувати на хостах ESXi SNMP агент версії 1 і 2. Починаючи з ESXi 5.1 підтримується більш сучасна версія протоколу - SNMP v3. Щоб налаштувати більш безпечний протокол SNMPv3, скористайтеся наступними командами.

Задаємо протоколи аутентифікації і шифрування:

esxcli system snmp set -a MD5 -x AES128

Генеруємо хеші для паролів аутентифікації і шифрування (замініть authpass і privhash на потрібний пароль):

esxcli system snmp hash --auth-hash authpass --priv-hash privhash --raw-secret

За допомогою отриманих хеш (authhash і privhash), додамо користувача:

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

Тепер потрібно вказати SNMP-таргет:

esxcli system snmp set -v3targets 192.168.1.100@161/user/priv/trap

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

snmpwalk -v3 -u snmpuser -l AuthPriv -a SHA -A $ ecret1 -x AES-X $ ecret2 192.168.101.20