Cómo habilitar y configurar la monitorización SNMP en un host VMWare ESXi

Oye, ¿monitorear hosts VMware ESXi con SNMP? Sí, es bastante práctico, pero puede ser un poco complicado al principio. Sobre todo porque el agente SNMP no viene configurado de fábrica; es más bien algo que «tienes que configurarlo manualmente».Esta guía debería ayudarte a activar y ajustar SNMP en tus servidores ESXi (las instrucciones funcionan en prácticamente todas las versiones recientes, como la 6.7, la 7.0 e incluso la 8.0).Una vez configurado, podrás agregar tus hosts a cualquier herramienta de monitorización de red (Nagios, Zabbix, la que sea) y empezar a supervisar su estado sin complicaciones. La clave está en saber dónde buscar y qué comandos ejecutar, ya que ESXi no tiene una interfaz gráfica para SNMP como otros sistemas. Básicamente, estás editando información mediante la CLI y asegurándote de que el firewall no esté bloqueando tus solicitudes SNMP.

Cómo habilitar y configurar SNMP en VMware ESXi

Habilitar el servicio SNMP desde la interfaz web

Esta es la forma más sencilla si ya ha iniciado sesión en la interfaz web del host ESXi. Simplemente vaya a AdministrarServicios → busque el Servidor SNMP. Tenga en cuenta que snmpd (el demonio SNMP) no se ejecuta por defecto. Por lo tanto, debe iniciarlo aquí. En algunas configuraciones, es posible que no se pueda activar o desactivar este servicio en la interfaz web, ya que VMware lo hace más complejo de lo necesario. En ese caso, deberá usar SSH.

Conectarse a través de SSH y utilizaresxcli

  • Habilite SSH desde AdministrarServicios (o a través de vSphere Client si así lo desea).
  • SSH en el host ESXi:ssh root@your-esxi-host
  • Verifique la configuración SNMP actual para ver si hay algo configurado:esxcli system snmp get

Sí, en la mayoría de las configuraciones, la salida se verá bastante vacía: todos los parámetros en blanco, el servicio no se está ejecutando. Esto es normal si no lo has configurado antes. Ahora, para configurar SNMP, aquí tienes algunos comandos básicos:

Configurar su servidor de monitoreo y cadena de comunidad

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

Si desea monitorear desde múltiples direcciones IP, simplemente alinéelas con comas, de la siguiente manera:

esxcli system snmp set --targets=192.168.99.99@161/public, 192.168.14.14@161/public

Reemplázalo publiccon el nombre de la comunidad que uses. Probablemente sea mejor usar algo seguro si realizas tareas delicadas, pero para laboratorios y pruebas, «public» funciona principalmente como un marcador. A continuación, establece la cadena de la comunidad explícitamente:

esxcli system snmp set --communities=YOUR_COMMUNITY_STRING

Y para darle al anfitrión una idea de la ubicación o para ayudar a realizar un seguimiento de las cosas, puede configurar syslocation y syscontact:

esxcli system snmp set --syslocation="Data Center Rack 3" 
esxcli system snmp set --syscontact="[email protected]"

Habilitar y reiniciar el servicio SNMP

Una vez que haya ajustado la configuración a su gusto, active el agente SNMP:

esxcli system snmp set --enable true

Por último, reinicie el demonio SNMP para asegurarse de que se esté ejecutando con la nueva configuración:

/etc/init.d/snmpd restart

Una vez hecho esto, incluso puedes probar la configuración con:

esxcli system snmp test

Esto debería darte una rápida comprobación de que todo funciona correctamente. A veces, con algunos hardware o versiones de ESXi, podrías tener que repetir el reinicio o incluso reiniciar el host si las configuraciones no se mantienen. Es extraño, pero a veces reiniciar el host es la única forma segura de que todo encaje.

Cómo restablecer o deshabilitar SNMP si es necesario

  • Para restablecer todas las configuraciones de SNMP a los valores predeterminados:esxcli system snmp set --r
  • Y para deshabilitar SNMP por completo (si ya terminaste la prueba):esxcli system snmp set --disable true

Si tiene una licencia de VMware Enterprise Plus, hay una forma aún más sencilla: usar los Perfiles de Host (en Políticas y Perfiles ).Pero, sinceramente, la mayoría de la gente lo hace desde la CLI: es rápido y sencillo. Recuerde que las reglas del firewall también son importantes. Si su servidor de monitorización no puede acceder al puerto UDP 161, está perdiendo el tiempo. Así que asegúrese de habilitar SNMP en la configuración del firewall.

Configuración del firewall para SNMP

Tienes dos opciones. El método rápido: permitir que todo el tráfico SNMP entre desde cualquier lugar, lo cual es más sencillo pero menos seguro.

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

O, mejor para la seguridad, especifique exactamente qué IP o rangos pueden enviar solicitudes 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.100.0/24 esxcli network firewall ruleset set --ruleset-id=snmp --enabled=true

En una configuración funcionó de inmediato; en otra, a veces hay que volver a verificar las reglas del firewall o reiniciar el host para que los cambios surtan efecto. Créeme, verifica la disponibilidad del puerto desde tu servidor de monitoreo después de configurar esto, telneto ncsi tus amigos están aquí.

Automatizar la configuración de SNMP con PowerShell

Si administra muchos hosts o simplemente tiene prisa, los scripts de PowerShell pueden ser la solución. Aquí tiene un ejemplo rápido que se conecta a su servidor ESXi y configura SNMP:

 $ESXiHost = 'mun-esxi01' $Community = 'public' $Target = '192.168.99.99' $Port = 161 Connect-VIServer -Server $ESXiHost # Clear current SNMP settings (if needed) Get-VMHostSnmp | Set-VMHostSnmp -ReadonlyCommunity @() # Set new SNMP target Get-VMHostSnmp | Set-VMHostSnmp -Enabled $true -Targets @{Community=$Community; Host=$Target; Port=$Port} # Verify $SnmpConfig = Get-EsxCli -VMHost $ESXiHost $SnmpConfig. System. Snmp. Get() 

Esto se puede ejecutar en varios hosts si se programa correctamente: simplemente cambia las variables y recorre la lista. No es muy elegante, pero funciona al realizar implementaciones o auditorías masivas.

Configuración de SNMPv3 (más seguro y moderno)

Ahora bien, si está pensando en SNMPv3, la opción mucho más segura con autenticación y cifrado, aquí es donde la cosa se complica un poco. Primero, habilite la compatibilidad con métodos de autenticación ( MD5 o SHA ) y cifrado como AES. El comando:

esxcli system snmp set -a MD5 -x AES128

A continuación, genere hashes de contraseñas para autenticación y privacidad (no sé por qué es tan complejo, pero así lo hace VMware).Ejecute este comando para generar los hashes:

esxcli system snmp hash --auth-hash=authpass1 --priv-hash=privpass1 --raw-secret

Copia esos hashes y luego crea un usuario usando:

esxcli system snmp set -e yes -C user --user=snmpuser --auth-shash=authhash1 --priv-shash=privhash1 --priv=AES128

Por último, especifique el objetivo SNMP:

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

Para probar SNMPv3 remotamente, herramientas de Linux como snmpwalk funcionan de maravilla con los parámetros adecuados, y Zabbix puede integrar SNMPv3 con cierta configuración. Solo prepárese para algunos pasos adicionales: es definitivamente más seguro, pero también un poco complicado de configurar inicialmente.

En general, configurar SNMP en ESXi requiere algo de paciencia, sobre todo si es la primera vez. Una vez configurado, es pan comido y tus sistemas de monitorización te lo agradecerán.¡Solo recuerda revisar los firewalls y los permisos!