A Guide to ESXi SNMP Configuration for ESXi Monitoring

La supervisión de la infraestructura es importante para las organizaciones porque la supervisión permite detectar problemas a tiempo y evitar fallos. Si se produce un fallo, las notificaciones tempranas sobre el mismo permiten empezar a trabajar para resolver los problemas relacionados lo antes posible. En un entorno VMware vSphere, se recomienda configurar la supervisión de ESXi. Uno de los métodos más asequibles para supervisar los hosts ESXi es utilizar las funciones integradas y el Protocolo simple de administración de red (SNMP). En este caso, debe configurarse un servidor dedicado con software de supervisión. Esta entrada de blog cubre la configuración SNMP de ESXi y explica cómo habilitar SNMP en hosts ESXi.

NAKIVO for VMware vSphere Backup

NAKIVO for VMware vSphere Backup

Complete data protection for VMware vSphere VMs and instant recovery options. Secure backup targets onsite, offsite and in the cloud. Anti-ransomware features.

Preparar el entorno

A continuación se explica cómo activar SNMP en ESXi:

  1. Activar Secure Shell (SSH)
  2. Configurar SNMP
  3. Configurar el cortafuegos de ESXi

Voy a explicar la configuración SNMP de ESXi usando un ejemplo con un host ESXi 7.0 y una máquina Ubuntu Linux en la que está instalado el software de supervisión.

La dirección IP del host ESXi es 192.168.101.208.

La dirección IP de la máquina Ubuntu Linux es 192.168.101.209.

Utilice sus direcciones IP y otros valores para los parámetros apropiados cuando configure la supervisión de ESXi a través de SNMP en su infraestructura para cumplir con su configuración.

Activación del acceso SSH en ESXi

El acceso SSH en un host ESXi es necesario para ejecutar comandos ESXCLI en un host de forma remota. Para habilitar el acceso SSH a su host ESXi, puede utilizar VMware Host Client. Abra un navegador web, introduzca la dirección IP de su host ESXi en la barra de direcciones y, a continuación, introduzca las credenciales para iniciar sesión.

En el panel Navegador, vaya a Host > Gestionar y haga clic en la pestaña Servicios.

Haga clic con el botón derecho en TSM-SSH y, en el menú contextual, haga clic en Iniciar.

En la captura de pantalla siguiente se ve el servicio de servidor SSH iniciado en el host ESXi.

Starting the SSH server on an ESXi host

Ahora puede conectarse al host ESXi desde una máquina con un cliente SSH instalado. Si usas Windows, puedes utilizar PuTTY, un cliente SSH gratuito y muy práctico. En Linux, ejecute el cliente SSH desde la línea de comandos con el comando:

ssh your_username@host_ip_address

Introduzca la dirección IP de su host ESXi y el puerto TCP 22 (el número de puerto por defecto) en los ajustes de sesión del cliente SSH para conectarse al host ESXi a través de SSH.

Connecting to the host via SSH to enable SNMP on ESXi

Configuración SNMP de ESXi

Una vez establecido el acceso SSH al host ESXi, puede configurar las opciones SNMP de VMware ESXi. En los hosts ESXi, SNMP sólo puede configurarse en la interfaz de línea de comandos. La interfaz gráfica de usuario (GUI) sólo permite iniciar, detener y reiniciar el servicio SNMP.

Ejecute el comando en la consola (terminal) y compruebe el estado de SNMP en el host ESXi:

esxcli system snmp get

SNMP está desactivado por defecto. La salida para SNMP deshabilitado en ESXi se muestra en la captura de pantalla. La mayoría de los parámetros están vacíos o no están configurados.

Checking ESXi SNMP status

Configuración de los parámetros de un agente SNMP

Establezca los parámetros SNMP para un agente SNMP en el host ESXi. El agente SNMP se utiliza para enviar notificaciones (SNMP traps e informs) a un servidor de supervisión y recibir peticiones GET, GETNEXT y GETBULK.

Establezca el nombre de la comunidad («public» es el nombre de la comunidad establecido por defecto). El nombre de la comunidad en este ejemplo es «nakivo«.

esxcli system snmp set --communities nakivo

Configure el objetivo SNMP. El objetivo SNMP es un servidor en el que se instala un software de supervisión para gestionar las trampas SNMP y recopilar información de supervisión. En mi ejemplo, el objetivo SNMP es la máquina que ejecuta Ubuntu Linux(192.168.101.209). UDP 161 es el puerto por defecto utilizado para SNMP y este puerto está definido en mi configuración ESXi SNMP:

esxcli system snmp set --targets=192.168.101.209@161/nakivo

Especifique una ubicación, por ejemplo, la ubicación geográfica, la dirección, el centro de datos o una sala donde se encuentra el servidor:

esxcli system snmp set --syslocation "Server room"

Especifique la información de contacto. Para este parámetro se puede definir la dirección de correo electrónico del administrador del sistema:

esxcli system snmp set --syscontact michaelbose@nakivo.com

Habilitar SNMP en ESXi:

esxcli system snmp set --enable true

Compruebe de nuevo el estado de SNMP en el host ESXi:

esxcli system snmp get

Ahora puede ver que los parámetros están configurados.

ESXi SNMP status is enabled

El Engine ID es el identificador único para el agente SNMP (utilizado para SNMP v3). El ID del motor se puede configurar con el comando (opcional):

esxcli system snmp set -engineid 544a33209458

SNMP status is running now. También puede abrir VMware Host Client, ir a Host > Manage > Services, y comprobar el estado del servicio snmpd .

Starting the ESXi SNMP service on an ESXi host

Prueba la configuración SNMP actual.

esxcli system snmp test

Testing VMware ESXi SNMP configuration

Si edita ajustes SNMP después de esto, reinicie el agente SNMP con el comando:

/etc/init.d/snmpd restart

Como alternativa, puede reiniciar ESXi SNMP en la GUI VMware Host Client en la pestaña Servicios. Haga clic con el botón derecho en el servicio y haga clic en Reiniciar en el menú contextual.

Restarting the VMware SNMP server service on an ESXi host

Si necesita restablecer los ajustes SNMP de ESXi, utilice el comando

esxcli system snmp set -r

El comando para desactivar SNMP en un host ESXi es:

esxcli system snmp set --enable false

Puede comprobar la disponibilidad de SNMP desde una máquina Linux si esta máquina Linux es el objetivo SNMP. Para ello utilizamos Ubuntu Linux.

Instale el cliente SNMP necesario en Ubuntu Linux si aún no lo ha hecho:

sudo apt-get install snmp

Conéctese al host ESXi a través de SNMP para comprobar los parámetros disponibles para la supervisión:

snmpwalk -v2c -c nakivo 192.168.101.208

ESXi monitoring – connecting to an ESXi host and getting VMware SNMP parameters

Debería ver una larga lista de objetos para la supervisión de ESXi a través de SNMP en la salida de la consola. Estos objetos son bases de información de gestión (MIB) e identificadores de objetos (OID), que son elementos de la estructura jerárquica de los parámetros de supervisión.

Una MIB SNMP es una colección de información sobre objetos (parámetros y ajustes) organizada jerárquicamente. Existen MIB escalares y tabulares. Las MIB pueden ser estándar o específicas de un proveedor.

Un OID SNMP es un objeto gestionado identificado de forma única en la estructura jerárquica MIB. Los distintos niveles del árbol son asignados por diferentes organizaciones. Los proveedores pueden definir ramas especiales para supervisar los parámetros de sus productos.

Un nombre de objeto es un valor único para toda la MIB que se corresponde con el OID apropiado. Por ejemplo, el nombre de objeto para el OID 1.3.6.1.2.1.1.5 es sysName.

Configuración del cortafuegos de ESXi

Debe configurar el cortafuegos y habilitar el acceso SNMP desde los servidores de supervisión al host ESXi. Puede establecer una subred o una única dirección IP de los dispositivos permitidos en la red.

Ejecutamos estos tres comandos para permitir el acceso desde la red 192.168.101.0/24 para supervisar ESXi a través de 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.101.0/24

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

Introduzca la dirección IP o una dirección de red según la configuración de su red.

Una configuración menos segura es permitir el acceso desde cualquier dispositivo de red:

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

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

La configuración SNMP de ESXi está hecha. Ahora puede configurar su software de supervisión en un servidor de supervisión.

Configuración de SNMP v3

SNMP v3 es una versión más segura del protocolo que proporciona autenticación y cifrado de claves. La configuración de SNMP v3 es más complicada y se admite desde vSphere 5.1. A continuación se muestra un resumen de cómo habilitar SNMP v3 en un host ESXi.

Configura el protocolo de autenticación y las opciones de privacidad.

esxcli system snmp set -a SHA1 -x AES128

Donde:

SHA1 es el algoritmo de cifrado criptográfico, la función hash criptográfica (Secure Hash Algorithm 1).

AES128 es el método de cifrado (Advanced Encryption Standard con una clave de cifrado de 128 bits) que utiliza el cifrado simétrico por bloques.

Genere hashes utilizando un comando como:

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

En mi caso, el comando es:

esxcli system snmp hash --auth-hash PasswordTest1 --priv-hash PasswordTest2 --raw-secret

Evite utilizar las contraseñas proporcionadas en este ejemplo en entornos de producción. Utilice contraseñas únicas y seguras (la contraseña debe tener al menos 7 caracteres). Guarda las cadenas hash generadas. En mi caso, los hashes son los siguientes.

Authhash: 831a798d1cda90ca1a3ab80d38f81a44c0851ada

Privhash: 38cf6f13d09a4651362338eac2c3d62b42514bc9

ESXi SNMP configuration - generating hashes for SNMP v3 users

Utiliza los hashes generados y añade un usuario. Se admiten hasta cinco usuarios.

esxcli system snmp set -e yes -C user -u snmpuser/authhash/privhash/priv

Donde:

user es el correo electrónico de contacto del usuario

snmpuser es el nombre de usuario (puede tener hasta 32 caracteres)

authhash es el valor hash de autenticación

privhash es el valor hash de privacidad

Añadimos user1 y utilizamos los hashes generados en la salida del comando anterior.

esxcli system snmp set -e yes -C user1@nakivo.com -u user1/831a798d1cda90ca1a3ab80d38f81a44c0851ada/38cf6f13d09a4651362338eac2c3d62b42514bc9/priv

Puede crear un usuario sin ajustes de seguridad (sin autenticación ni privacidad) utilizando el comando:

esxcli system snmp set --user user2/-/-/none

Defina la dirección de destino SNMP:

esxcli system snmp set --v3targets 192.168.101.209@161/user1/priv/trap

Habilitar SNMP en ESXi:

esxcli system snmp set --enable true

Probar ajustes SNMP:

esxcli system snmp test

Puede utilizar el comando extendido para probar la configuración SNMP de VMware en ESXi:

esxcli system snmp test -u=user1 -A=PasswordTest1 -X=P2sswordTest2 -r

Donde user1 es el nombre del usuario SNMP que se ha añadido a la configuración.

Si la prueba se completa correctamente, se muestra un mensaje

Usuario validado correctamente para el identificador de motor y el nivel de seguridad dados: protocolos

ESXi SNMP configuration test

Intente conectarse al host ESXi a través de SNMP v3 desde un servidor Linux de supervisión (desde el lado de destino).

Este comando se utiliza si no se han establecido parámetros de autenticación:

snmpwalk -v3 -u user1 192.168.101.208

Si ha establecido opciones seguras, defínalas en el comando:

snmpwalk -v3 -u user1 -l AuthPriv -a SHA -A PasswordTest1 -x AES -X PasswordTest2 192.168.101.208

Donde usuario1 es el nombre de mi usuario añadido a la configuración SNMP de ESXi.

Testing VMware ESXi SNMP configuration-connecting

Si aparece el error «Nombre de usuario desconocido» al probar la configuración SNMP de ESXi, compruebe si ha añadido un usuario y definido el nombre de usuario correcto en los siguientes comandos después de añadir el usuario. Tenga en cuenta que si cambia el ID de motor del agente, el protocolo de privacidad o el protocolo de autenticación después de configurar los usuarios, estos dejarán de ser válidos. En este caso, deberá reconfigurar los usuarios.

Además, preste atención a los ajustes de seguridad porque una configuración SNMP incorrecta puede constituir una amenaza y permitir que un host malicioso obtenga información sobre un host ESXi. Esta información puede utilizarse para detectar lugares vulnerables e iniciar un ciberataque.

Configuración SNMP de múltiples hosts ESXi

El uso de perfiles de host VMware puede ayudarle a habilitar SNMP y configurar varios hosts ESXi de forma más racional si tiene un gran número de hosts ESXi en su entorno vSphere.

Para habilitar SNMP y configurar múltiples hosts ESXi, debe tener la licencia VMware vSphere Enterprise Plus para utilizar VMware Host Profiles en VMware vSphere Client. Los ajustes SNMP de VMware para los perfiles de los hosts ESXi se encuentran en Management > Host Profiles > your Profile > SNMP Agent Configuration. También puede utilizar vSphere PowerCLI para automatizar el proceso de configuración de un gran número de hosts ESXi para establecer la configuración SNMP de ESXi en ellos.

Conclusión

La configuración de ESXi SNMP requiere acceso SSH a los hosts ESXi, configurar los agentes SNMP y permitir el acceso en el cortafuegos ESXi. La supervisión de ESXi le permite reaccionar a tiempo si se detecta algún problema y mejorar la disponibilidad general del servicio. No olvide hacer backups de VMware vSphere VM para evitar la pérdida de datos y poder recuperar los datos y restaurar las cargas de trabajo en caso de desastre.

NAKIVO Backup & Replication es la solución universal de protección de datos que ofrece un amplio conjunto de opciones para hacer backups y recuperar VMware vSphere VMs y otros datos en un centro de datos. Además, la última versión de la solución es compatible con la supervisión de ESXi como parte de la supervisión de VMware vSphere.

1 Year of Free Data Protection: NAKIVO Backup & Replication

1 Year of Free Data Protection: NAKIVO Backup & Replication

Deploy in 2 minutes and protect virtual, cloud, physical and SaaS data. Backup, replication, instant recovery options.

Artículos recomendados