Якщо ви хочете відслідковувати стан серверів 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