Monitorizar un switch o router de red con Zabbix

Introducción

Esta guía le muestra los pasos necesarios para comenzar con la monitorización básica de su switch o router de red usando Zabbix. Se utiliza un router Cisco como ejemplo, pero el procedimiento se aplica a cualquier dispositivo de red habilitado para SNMP.

Para quién está dirigida esta guía

Esta guía está diseñada para nuevos usuarios de Zabbix y administradores de red que desean habilitar rápidamente la monitorización básica de dispositivos de red. Si necesita una personalización profunda o opciones avanzadas de configuración, consulte la página SNMP agent o la sección Configuration del manual de Zabbix.

Requisitos previos

Antes de continuar con esta guía, asegúrese de tener:

  • Zabbix server y Zabbix frontend instalados: instálelos según las instrucciones para su sistema operativo (consulte Installation from packages y Web interface installation).
  • Zabbix agent instalado si va a monitorizar métricas de la red local.
  • Dispositivo habilitado para SNMP: un switch o router de red (por ejemplo, un router Cisco) con SNMP habilitado.
  • Archivos MIB instalados: instalar archivos MIB permite a Zabbix traducir OID numéricos en nombres y descripciones legibles por humanos. Sin un soporte adecuado de MIB, es posible que solo vea valores numéricos, lo que dificulta la configuración de items y la resolución de problemas.

Para instalar archivos MIB en Ubuntu:

1. Instale el paquete descargador de MIB:

sudo apt-get update
sudo apt-get install snmp-mibs-downloader

Si necesita añadir MIB específicos del fabricante (por ejemplo, de Cisco o Juniper), colóquelos en el directorio MIB correspondiente:

  • En sistemas basados en Linux, las ubicaciones comunes incluyen /usr/share/snmp/mibs/ o /usr/local/share/snmp/mibs/.
  • En instalaciones de Zabbix, los archivos MIB pueden almacenarse en /var/lib/zabbix/mibs/.

Asegúrese de que la variable de entorno MIBDIRS o el archivo snmp.conf incluya la ruta correcta.

Para verificar que su sistema reconoce los nuevos MIB, use:

snmptranslate -IR -On <MIB-NAME>::<object>

Para obtener instrucciones detalladas, consulte la documentación de su biblioteca SNMP:

2. Edite /etc/snmp/snmp.conf y comente la línea que comienza con mibs : para permitir que el sistema cargue todos los MIB disponibles.

3. Verifique ejecutando un snmpwalk (por ejemplo, snmpwalk -v 2c -c <your_community_string> <device_IP>) y compruebe que los OID se muestran con nombres descriptivos.

Dependiendo de su entorno, algunos pasos de esta guía pueden diferir ligeramente. Esta guía se basa en un entorno que ejecuta Ubuntu y un dispositivo de red Cisco Catalyst 3750V2-24FS que está siendo monitorizado.

Se asume que su dispositivo de red ya está instalado físicamente y conectado.

Configure el dispositivo de red (ejemplo de router Cisco)

Para la supervisión mediante SNMP, debe configurar su dispositivo de red para permitir consultas SNMP. El ejemplo siguiente corresponde a SNMPv2 y no tiene en cuenta la configuración existente. Precaución: aplicar estos comandos puede sobrescribir las configuraciones SNMP actuales.

Para un router Cisco, la configuración normalmente implica los pasos que se indican a continuación.

Ejemplo de SNMPv2

1. Habilite SNMP y establezca la cadena de comunidad.

Inicie sesión en la consola de su router Cisco e ingrese al modo de configuración:

configure terminal

Luego, habilite SNMP especificando una cadena de comunidad de solo lectura. Por ejemplo:

snmp-server community <your_community_string> RO

Reemplace <your_community_string> con su cadena de comunidad segura. Nota: la opción RO (solo lectura) permite que SNMP recupere datos del dispositivo, pero impide cualquier cambio de configuración.

Se recomienda restringir el acceso SNMP solo a los dispositivos necesarios por motivos de seguridad. Para obtener más orientación sobre la configuración de listas de control de acceso (ACL), consulte la documentación oficial de Cisco.

2. Guarde la configuración.

Guarde los cambios para asegurarse de que la configuración de SNMP persista después de un reinicio:

write memory

Ejemplo de SNMPv3

SNMPv3 proporciona seguridad mejorada con autenticación y cifrado. Su configuración es más segura que la de SNMPv2 y debe verificarse con la documentación específica de su dispositivo.

1. Cree un grupo SNMP.

Configure un grupo SNMPv3 con privacidad (cifrado) habilitada:

configure terminal
snmp-server group <your_group> v3 priv

2. Cree un usuario SNMP.

Agregue un usuario SNMPv3 con autenticación y privacidad. Reemplace los marcadores de posición con los valores que desee:

snmp-server user <your_user> <your_group> v3 auth md5 <auth_password> priv aes 128 <priv_password>

3. Guarde la configuración:

write memory

Para obtener más detalles o instrucciones específicas del modelo, puede consultar tutoriales externos de configuración de SNMP de Cisco. Sin embargo, esta guía proporciona los pasos básicos para habilitar la supervisión de SNMP.

Configurar el frontend de Zabbix

Crear un host en Zabbix frontend

1. Inicie sesión en Zabbix frontend.

2. Añada un nuevo host.

Vaya a Data collection > Hosts y haga clic en Create host.

  • Host name: introduzca un nombre para su dispositivo (por ejemplo, "Cisco Router").
  • Host groups: seleccione un grupo existente o cree un grupo nuevo, como "Network Devices".
  • Interfaces:
    • Haga clic en Add en Interfaces.
    • Elija SNMP como tipo de interfaz.
    • Introduzca la dirección IP o el nombre DNS de su router Cisco.
    • Establezca el puerto SNMP predeterminado (normalmente 161).
    • Use el menú desplegable para seleccionar la versión SNMP adecuada (por ejemplo, SNMPv2).
    • Para SNMPv1/v2, introduzca la cadena de comunidad en el campo SNMP community. Para SNMPv3, se solicitarán credenciales adicionales (Context name, Security name y Security level, etc.).

3. Vincular templates

En el campo Templates, seleccione el template SNMP que mejor se adapte a su dispositivo. Zabbix proporciona una amplia gama de SNMP templates predefinidos para muchas familias de dispositivos. Por ejemplo, si está supervisando un dispositivo Cisco, elija el template que corresponda al sistema operativo o modelo de su dispositivo (como Cisco IOS SNMP o Cisco Catalyst 3750<device model> SNMP).

4. Haga clic en Add para guardar el host.

Ver métricas recopiladas

¡Enhorabuena! Zabbix ya está configurado para supervisar su dispositivo de red.

Datos más recientes:

  • Vaya a Monitoring > Latest data en el frontend de Zabbix.

  • Seleccione su host "Cisco Router" (o los hosts descubiertos) para ver métricas como el tiempo de actividad del hardware y de la red, la pérdida ICMP, el ping y el tiempo de respuesta, etc.

  • Gráficas y pantallas:

Para visualizar los datos de rendimiento, haga clic en Graphs junto a los items SNMP para ver métricas detalladas.

Como siguiente paso, puede:

Crear items SNMP

Una vez que el host esté configurado, puede crear items para supervisar métricas específicas. Nota: este paso es opcional si está usando un template, ya que los templates ya contienen conjuntos predeterminados de items.

1. Identifique el OID SNMP:

Use el comando snmpwalk para listar los OID disponibles en su dispositivo. Por ejemplo:

snmpwalk -v 2c -c <your_community_string> <device_IP> .

Encuentre el OID de la métrica que desea supervisar (por ejemplo, IF-MIB::ifHCInOctets.3 para el tráfico entrante en el puerto 3). Para obtener el OID numérico, puede usar:

snmpget -v 2c -c <your_community_string> -On <device_IP> IF-MIB::ifHCInOctets.3

2. Cree un item SNMP:

  • Vaya a Data collection > Hosts y haga clic en la pestaña Items de su host SNMP, luego haga clic en Create item.
  • Name: introduzca un nombre descriptivo (por ejemplo, "Tráfico entrante del puerto 3").
  • Type: seleccione SNMP agent.
  • Key: proporcione una clave significativa (por ejemplo, cisco.ifHCInOctets.3).
  • Host interface: asegúrese de que esté seleccionada la interfaz SNMP.
  • SNMP OID: introduzca el OID usando uno de los formatos admitidos, por ejemplo:
    • get[1.3.6.1.2.1.31.1.1.1.6.3] para un valor único;
    • walk[1.3.6.1.2.1.31.1.1.1.6.3] para recuperar de forma asíncrona un subárbol de valores.

  • Preprocessing (si es necesario): si el item devuelve un contador acumulativo (como el tráfico de una interfaz), vaya a la pestaña Preprocessing y añada un paso de preprocesamiento como "Change per second" para calcular la tasa.

Para recuperar varios valores en una sola transacción SNMP, puede especificar varios OID usando la sintaxis walk[OID1,OID2,...].

Traducción de OIDs entre nombres numéricos y nombres MIB

Al trabajar con SNMP, es posible que necesite convertir entre OIDs numéricos y sus nombres MIB correspondientes. Esta traducción ayuda a identificar y solucionar problemas de métricas con mayor facilidad.

  • Para traducir un nombre MIB a un OID numérico: use el comando snmptranslate con la opción -On. Por ejemplo, para traducir el nombre MIB IF-MIB::ifHCInOctets.3 a su OID numérico, ejecute:
snmptranslate -On IF-MIB::ifHCInOctets.3

Este comando podría devolver:

.1.3.6.1.2.1.31.1.1.1.6.3
  • Para traducir un OID numérico a su nombre MIB: use el comando snmptranslate con la opción -IR (o -m ALL) para invertir la traducción. Por ejemplo, para traducir el OID numérico .1.3.6.1.2.1.31.1.1.1.6.3 de vuelta a su nombre MIB, ejecute:
snmptranslate -IR -On .1.3.6.1.2.1.31.1.1.1.6.3

Este comando podría devolver:

IF-MIB::ifHCInOctets.3

Configurar alertas de problemas

Esta guía proporciona pasos básicos de configuración para enviar alertas por correo electrónico.

1. Vaya a User settings > Profile, cambie a la pestaña Media y añada su correo electrónico.

2. Siga la guía para Recibir una notificación de problema.

La próxima vez que Zabbix detecte un problema, debería recibir una alerta por correo electrónico.

Pruebe su configuración

Para asegurarse de que Zabbix detecta correctamente los problemas de rendimiento de red, simule un problema real aumentando el umbral del tiempo de respuesta del ping ICMP.

1. Abra la configuración del host "Cisco Router" en Zabbix.

2. Vaya a la pestaña Macros y seleccione Inherited and host macros.

3. Localice la macro {$ICMP_RESPONSE_TIME_WARN} (o una macro similar de umbral de tiempo de respuesta).

4. Establezca un valor muy bajo (por ejemplo, 0.001) para activar una alerta cuando la respuesta del ping supere este valor.

5. Haga clic en Update para aplicar los cambios.

6. Espere unos momentos a que Zabbix detecte el problema simulado.

7. Vaya a Monitoring > Problems para verificar que aparezca una alerta (por ejemplo, "High ICMP ping response time").

Si las alertas están configuradas, también debería recibir una alerta de problema.

8. Revierta el valor de la macro a su configuración original y haga clic en Update para guardar los cambios.

9. Confirme que el problema se ha resuelto y desaparece de la sección Problems.

Solución de problemas de monitoreo SNMP

Si observa que el icono de SNMP en el frontend de Zabbix aparece en ROJO o no se recopilan datos, pruebe los siguientes pasos:

1. Compruebe la conectividad SNMP.

Para SNMPv2, ejecute el siguiente comando desde su server de Zabbix:

snmpwalk -v 2c -c <community_string> <device_IP> .

Este comando verifica que el dispositivo responde a consultas SNMP.

Para SNMPv3, incluya las credenciales SNMPv3 correspondientes:

snmpwalk -v3 -u <your_user> -l authPriv -a MD5 -A <auth_password> -x AES -X <priv_password> <device_IP> .

Esto verifica que las credenciales SNMPv3 sean correctas y que el dispositivo responda de forma segura.

2. Asegúrese de que los archivos MIB estén instalados y habilitados como se describe en los prerrequisitos. Para asegurarlo, el siguiente comando no debe devolver errores cuando consulte un dispositivo de red:

snmpwalk -v 2c -c <your_community_string> <device_IP> ifInOctets

Esto debería devolver OID traducidos sin errores.

3. Confirme que la versión SNMP y las credenciales configuradas en Zabbix coincidan con las configuradas en su dispositivo. Por ejemplo, revise la configuración SNMP en la configuración del host de Zabbix y compárela con la configuración de su dispositivo. En un dispositivo Cisco, puede comprobar la configuración SNMP ejecutando:

show running-config | include snmp

Esto garantiza que la cadena de comunidad (para SNMPv2) o los detalles del usuario SNMPv3 sean correctos.

4. Verifique que SNMP esté habilitado correctamente en su dispositivo de red. En un router Cisco, inicie sesión en la consola y ejecute:

show running-config | include snmp

Este comando muestra la configuración SNMP activa y ayuda a confirmar que SNMP está configurado correctamente.

5. Asegúrese de que ningún firewall o problema de red esté bloqueando el tráfico SNMP (normalmente en el puerto 161) entre el server de Zabbix y el dispositivo. Puede probar la conectividad usando:

nc -zv <device_IP> 161

nc -zv comprueba si el puerto 161 está abierto y escuchando en el dispositivo.

Además, si está usando UFW en Ubuntu, compruebe el estado del firewall:

sudo ufw status

O, para iptables:

sudo iptables -L -n

6. Revise los archivos de registro del server de Zabbix para detectar cualquier error relacionado con SNMP que ayude a identificar el problema:

tail -f /tmp/zabbix_server.log

tail -f le permite supervisar las actualizaciones del registro en tiempo real.

Ver también: