Для мониторинга инфраструктуры виртуализации VMware vSphere зачастую используется протокол SNMP (например, через серверы Open NMS , CACTI , PRTG и т.п.). До версии VMware vSphere 5.1 поддерживались только версии 1 и 2 протокола SNMP. С выпуском версии 5.1 была добавлена поддержка третьей версии этого протокола (SNMPv3), который имеет множество улучшений, в основном касающихся безопасности.
Также в процессе настройки SNMP на хостах ESXi можно выбрать способ приема агентом сообщений: от IPMI-сенсоров (как в прошлых версиях ESXi) или CIM-индикаторов. Кроме того, можно фильтровать отсылаемые на сервер мониторинга SNMP-сообщения.
Для настройки протокола SNMP версий 1 и 2 нужно сделать 4 простых шага:
1. Установить community string (по сути, это пароль) командой:
esxcli system snmp set –communities public
2. Установить сервер мониторинга (SNMP target), который включает адрес и порт, а также community string:
esxcli system snmp set –targets server.domain@161/public
3. Включить сервис SNMP на хосте ESXi:
esxcli system snmp set –enable true
4. Протестировать конфигурацию:
esxcli system snmp test
Для того, чтобы протестировать SNMP со стороны таргета можно использовать команду (для версии 2):
snmpwalk -v2c -c public esxserver.domain
Для настройки протокола SNMP версии 3 нужно сделать 8 шагов (не все обязательны):
1. Выставляем Engine ID для SNMP-агента (ID - это шестнадцатиричное значение от 5 до 32-х разрядов длиной):
esxcli system snmp set –engineid 766d77617265
2. Выставляем протокол аутентификации (SHA1, MD5 или none):
esxcli system snmp set –authentication SHA1
3. Устанавливаем протокол шифрования:
esxcli system snmp set –privacy AES128
4. Если мы включили протоколы шифрования в шагах выше, то нужно сгенерировать хэши для паролей аутентификации и шифрования (опция -r означает, что пароли вводятся прямо в команде):
esxcli system snmp hash -r -A pass1 -X pass2
5. Настраиваем пользователя SNMP, указывая хэши, полученные в предыдущей команде (user - ваш пользователь):
esxcli system snmp set –users user/f9f7311379046ebcb5d134439ee5b7754da8a90f/d300f16eec59fb3b7ada7844ff764cbf4641fe5f/priv
6. Устанавливаем SNMP-таргет:
esxcli system snmp set –v3targets server.domain@161/user/priv/trap
7. Включаем SNMP:
esxcli system snmp set –enable true
8. Тестируем настройки:
esxcli system snmp test
Точно так же, как и для версий 1 и 2, со стороны сервера можно проверить работоспособность настроек SNMP, указав введенные ранее пароли:
snmpwalk -v3 -u user -l AuthPriv -a SHA -A pass1 -x AES -X pass2 esxserver.domain
Все вышеперечисленное можно сделать и через vSphere CLI (нужно ставить на отдельную машину) в интерактивном режиме с помощью скрипта vicfg-snmp.pl:
Если вам не хочется заморачиваться с установкой vSphere CLI, то можно использовать скрипт configureSNMPv3.sh, с помощью которого настройка происходит легко и просто: