Lección 1, Tema 1
En Progreso

3. Monitorización mediante SNMP

noviembre 22, 2024

SNMP (Simple Network Management Protocol) es un protocolo de la capa de aplicación que facilita el intercambio de información de administración entre dispositivos de red.

Dentro de la monitorización SNMP podemos encontrar dos conceptos básicos:

  • Polling SNMP: El testeo o polling SNMP implica ordenar que Pandora FMS ejecute un comando “get” contra un dispositivo SNMP, como por ejemplo un router o un switch. Esta es una operación síncrona (que se realiza cada cierto tiempo de forma activa). Los chequeos SNMP tipo polling se realizan creando módulos de red en Pandora FMS.
  • Traps SNMP: Es una operación asíncrona (basada en cambios o eventos, que pueden no ocurrir), comúnmente utilizada para recibir avisos o “alertas” provenientes del dispositivo como, por ejemplo, cuando un switch tumba su puerto o su ventilador se calienta demasiado. Se pueden recibir traps de cualquier dispositivo. Únicamente será necesario activar la consola de traps SNMP en Pandora FMS, donde se mostrarán los traps que se reciban. Se pueden definir alertas mediante reglas de filtrado de traps por cualquiera de sus campos.

Pandora FMS trabaja con SNMP manejando OID individuales. Para Pandora FMS cada OID a monitorizar es un módulo de red. Es decir, si queremos monitorizar un switch Cisco Catalyst de 24 puertos y conocer el estado operativo de cada puerto, así como el tráfico de entrada y salida, tenemos que definir un total de 72 módulos (24 x 3).

Requisitos de uso SNMP

Para trabajar con dispositivos SNMP es necesario:

  • Conocer qué es y cómo trabaja el protocolo SNMP. Esto se describe en profundidad en el RFC3411 publicado por el IETF.
  • Conocer la IP y la comunidad SNMP del dispositivo remoto.
  • Activar la gestión SNMP del dispositivo para que desde el servidor de red se puedan hacer consultas SNMP. Este servidor de red debe ser el asignado por el agente donde vayamos a definir los módulos de red. También hay que tener en cuenta que si queremos que otros servidores de red hagan consultas en caso de caída del servidor asignado, estos harán las consultas con otra dirección IP.
  • Conocer el OID concreto del dispositivo remoto que queramos consultar (o utilizar uno de los múltiples wizards de que dispone Pandora FMS o su explorador de OIDs SNMP).
  • Saber cómo gestionar el dato que devuelve el dispositivo. Los dispositivos SNMP devuelven datos en diferentes formatos. Pandora FMS puede tratar casi todos. Los datos de tipo contador son los que Pandora FMS gestiona como remote_snmp_inc y son de especial importancia, ya que al ser contadores no pueden tratarse como datos numéricos sino como tasa de elementos por segundo. La mayoría de datos estadísticos SNMP son de tipo contador y se han de configurar como remote_snmp_inc si se quiere monitorizar adecuadamente.

Uso de SNMP en Pandora FMS

Para poder monitorizar cualquier elemento SNMP con módulos de red debemos saber, al menos, su IP y su comunidad SNMP. También sería muy interesante saber la OID que se pretende monitorizar, aunque se pueden obtener a través de un SNMPWalk o del explorador SNMP integrado en Pandora FMS, siempre que se sepa a qué pertenece cada OID. Esto último no siempre es fácil.

Para monitorizar un elemento por SNMP, se le añadirá un módulo de red nuevo siguiendo las indicaciones anteriores. Una vez que se haya creado el módulo, se debe seleccionar un tipo de dato SNMP en el formulario de configuración del módulo:

Cualquiera de los tres tipos de datos SNMP son válidos, simplemente hay que seleccionar el que coincida con el tipo de dato que se quiera monitorizar. Cuando se haya seleccionado un tipo de dato SNMP, se expandirá el formulario mostrando los campos adicionales para SNMP:

Una vez que sabemos el tipo de dato que queremos extraer rellenamos los campos: nombre del módulo, comunidad SNMP y OID a monitorizar. Si el puerto usado es el 161 no hará falta indicarlo ni rellenar el campo, pero en caso de usar uno distinto, sí deberemos indicarlo. Por último, si seleccionamos SNMP versión 3, habrá que configurar los parámetros de autenticación necesarios.

Los 3 campos destacables son:

  • SNMP community
    Comunidad SNMP. Necesaria para poder monitorizar el elemento. Actúa como si fuese una contraseña.
  • SNMP version
    Versión del protocolo SNMP del dispositivo. Puede ser 1, 2, 2c y 3. La versión 3 incorpora cifrado y autenticación segura en la comunicación, lo que complica bastante la configuración y empeora el rendimiento del polling de los servidores de red de Pandora FMS.
  • SNMP OID
    Identificador OID que monitorizar. Consiste en una cadena de números y puntos. Estas cadenas son automáticamente traducidas por cadenas alfanuméricas más descriptivas si las MIB correspondientes se encuentran instaladas en el sistema.

Las MIB son librerías de fabricantes que sirven para traducir estos OID en cadenas más descriptivas.

Un OID alfanumérico puede tener este aspecto:
iso.org.dod.internet.private.transition.products.chassis.card.slotCps.cpsSlotSummary.cpsModuleTable.cpsModuleEntry.cpsModuleModel.3562.3

El equivalente numérico sería este:
1.3.6.1.4.868.2.4.1.2.1.1.1.3.3562.3

Pandora FMS incluye algunos OID, en su base de datos, que se pueden usar directamente. Por ejemplo, a la hora de crear el módulo seleccione el componente Cisco MIBs para mostrar una lista de los chequeos con OID traducidos disponibles para Cisco. Una vez que seleccionamos este componente, se puede elegir entre los OID disponibles para él:

  1. Al hacerlo, se rellenan los campos con la información necesaria.
  2. Existen más MIB incluidas en Pandora FMS y con la versión Enterprise se incluyen paquetes de MIBs para distintos dispositivos.
  3. Una vez introducidos los datos, pulsamos el botón Create.

Veamos un ejemplo. Obteniendo el tráfico de una interfaz, al ser un tipo INC es un controlador. Es un caso habitual de los datos SNMP.

Se puede hacer una consulta desde la línea de comandos (en el propio servidor de Pandora FMS) tanto para saber la lista de datos disponibles (OID), como para comprobar si hay acceso de red:

   snmpwalk -v 1 -c public 192.168.1.102
   .1.3.6.1.2.1.1.1.0 = STRING: Broadcom Bcm963xx Software Version A101-302JAZ-C02_R04.

   .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.4413

   .1.3.6.1.2.1.1.3.0 = Timeticks: (3093534167) 358 days, 1:09:01.67

   .1.3.6.1.2.1.1.4.0 = STRING: Madrid

   .1.3.6.1.2.1.1.5.0 = STRING: CT536_ADSL

   .1.3.6.1.2.1.1.6.0 = STRING: Madrid

SNMP Browser

En Pandora FMS podemos acceder al SNMP Browser a través del menú Monitoring>SNMP>SNMP Browser.

Pandora FMS hace un recorrido completo del árbol del dispositivo por lo que se usa el explorador para ir desplegando las diferentes ramas. Si este árbol es grande (como un switch) esta operación puede tardar varios minutos, por lo que el navegador SNMP permite también explorar únicamente una subrama e ir obteniendo valores. Desde el explorador SNMP se puede crear un componente de red para utilizarlo después. Si no existe información sobre el OID del dispositivo, esta se muestra únicamente en formato numérico. La información descriptiva de los OID se almacena mediante las MIBs.

Podremos seleccionar varios OIDs y añadirlos a un agente pulsando el botón “Create agent modules” o añadirlos a una política pulsando el botón “Create policy modules”, pero esto es algo que veremos de forma más extensa en el curso PAE.

MIBs

A través de Pandora FMS podemos subir y gestionar las MIBs para poder incorporar nuevas o borrar las que no nos interesen. Una MIB (Management Information Base) es un tipo de base de datos que contiene información jerárquica, estructurada en forma de árbol, de todos los parámetros. En Pandora FMS se permite la carga manual de MIB.

Es importante destacar, que el gestor de mibs de Pandora FMS sólo gestiona las mibs de “polling”, que para nada tiene que ver con las mibs de traps SNMP. Para esta funcionalidad existe otro gestor, exclusivo de la versión Enterprise de Pandora FMS que veremos en el curso PAE.

Por lo tanto, para Polling, añadir los ficheros MIB al directorio o mediante SNMP hay que ir al menú de cargador MIB. Estas MIBs las usará solo Pandora FMS, que además utilizará las del sistema operativo (en /usr/share/snmp/mibs). Pandora FMS utilizará el path {PANDORA_CONSOLE}/attachment/mibs para almacenar las mibs.

Herramientas de creación de módulos SNMP

En la vista de administración de un agente hay un conjunto de herramientas para crear módulos de forma masiva: los wizard de agente. En Pandora FMS existen dos wizards SNMP, que son:

  • Wizard SNMP
    Es un wizard que nos permite sacar de una manera más cómoda los diferentes módulos referentes a volúmenes, memoria, procesos, servicios, etc… Hace uso del plugin (snmp_remote.pl), los módulos creados de esta manera son de tipo plugin. Veremos la utilización de esta herramienta en profundidad en el curso PAE.
  • Wizard Interfaces SNMP
    Es el wizard usado para sacar de forma masiva información de los puertos del dispositivo.

En el wizard SNMP hay que definir la IP de destino, la comunidad y otros parámetros (SNMP v3 está soportado) para hacer un “Walk” a la máquina. Una vez se reciba la información correctamente aparecerá un formulario para la creación de módulos. Con el wizard SNMP es posible crear módulos de varios tipos de datos SNMP: dispositivos, procesos, espacio libre en disco, sensores de temperatura y otros datos SNMP. Hay que seleccionar el tipo de módulo y pasar los elementos que se quiera desde el combo de la izquierda al de la derecha. Después hay que pulsar Crear módulos.

Este wizard creará dos tipos de módulos:

  • Módulos SNMP para consultas con OID estático (sensores, memoria CPU, etc)
  • Módulos plugin para las consultas con OID dinámico o los datos calculados (procesos, espacio en disco, memoria usada expresada en porcentaje, etc)

Para los módulos de tipo plugin usaremos el plugin de SNMP remoto. Veremos el funcionamiento en el curso PAE.