Monitorización de equipos por snmp

Verificar que tenemos el demonio snmp arrancado

Lo primero es verificar que se han instalado los paquetes de snmp

yum install -y net-snmp net-snmp-utils net-snmp-perl 

Arrancamos el servicio snmpd y lo dejamos habiliado en el arranque por defecto

systemctl snmpd enable
systemctl snmpd start

Hacemos una prueba para ver que todo está funcionando

snmpwalk -v 2c -c public localhost system

Monitorizar equipos por snmp

Para monitorear un equipo con zabbix por snmp primero debemos localizar un MIB compatible con el equipo que vayamos a monitorear. Podemos buscar en la pagina web del fabricante o buscar en esta página .

Una vez encontremos el MIB correcto podemos usar varias herramientas para interpretarlo. Una de ellas es el uso de aplicaciones como por ejemplo MibBrowser, que nos permite ver el árbol del MIB y desplegarlo para buscar lo que necesitemos.

También podemos utilizar el comando SNMPWALK que nos mostrará todos los OID y los compara con los datos del MIB, además mostrará los datos de aquellos que coincidan.

Es importante, una vez identificado el ítem que queremos utilizar, saber el OID de dicho ítem, ya que, deberemos usarlo en la creación de ítems de zabbix

Otra manera de encontrar un ítem para monitorizar nuestro equipo es a través de la herramienta SNMP BUILDER que nos proporciona zabbix. Para acceder a ella debemos seleccionar “ Configuration/SNMP Builder”.

Como podemos ver en la imagen, la pestaña de SNMP Builder consta de una cabecera que debemos rellenar. De izquierda a derecha nos encontramos:

  • Template: aquí debemos seleccionar la plantilla en la que vamos a guardar el ítem. Podemos crear una plantilla nueva o usar una existente.
  • MIB: en este desplegable elegiremos un MIB para buscar los ítems.
  • Host: IP del equipo que queremos monitorizar.
  • SNMP Versión: la versión de SNMP que vamos a usar (1, 2c).
  • Community: es una clave que permite acceder al equipo (por defecto suele ser public pero se puede cambiar).

Ahora que hemos configurado los requisitos previos se nos mostrará como en el MIB Browser el árbol del MIB a la izquierda. Sin embargo a la derecha se nos mostrará algo diferente.

Si seleccionamos uno de los ítems del “OID tree”, a la derecha en “OID name” se nos mostrará el nombre, el tipo de dato y el valor del mismo (en el caso de que exista algún valor). Clicamos dos veces sobre el nombre del OID y aparecerá abajo en “Ítems list”. Por último, podemos seleccionar el intervalo en el que se va a recoger los datos del ítem y crear una grafica sobre el mismo si así lo deseamos (estos dos elementos pueden modificarse más tarde).

Clicamos en “save” para añadir el ítem a la plantilla que hemos seleccionado.

Configuración del Host

Para crear un nuevo host en zabbix debemos ir a “Configuration/hosts”, una vez allí clicamos en “créate host”.

En la primera pestaña “Host” configuraremos los datos básicos del mismo.

  • Host name: el nombre del equipo.
  • Groups: seleccionamos a qué grupo queremos añadir el equipo o creamos uno nuevo (new group).
  • Agent interfaces: aquí seleccionaremos el agente por el cuál queremos monitorizar nuestro equipo, en nuestro caso por SNMP interface. Clicamos en “add” y debemos indicar la IP o el nombre DNS del equipo (el puerto del SNMP es el 161).
  • Status: elegimos empezar o no a monitorizar el equipo.

En la siguiente pestaña elegimos la plantilla para nuestro equipo, por lo general la que tenga los ítems que queramos.

Las otras pestañas no hace falta configurarlas en este momento.

Configuración de los ítems

Nos situamos en “Configuration/Hosts” y seleccionamos el equipo que acabamos de añadir y dentro elegimos la pestaña “Ítems”.

Aquí crearemos los ítems que buscamos previamente con el MIB Browser, en caso de haberlo realizado con SNMP Builder aparecerá automáticamente.

Clicamos en “créate item”.

  • Name: el nombre del ítem.
  • Type: el protocolo por el cuál se va a buscar el ítem (en nuestro caso SNMPv1 o SNMPv2).
  • Key: nombre clave del ítem (se usará para llamarlo en los triggers). Si elegimos SNMP aparecerá:
    • SNMP OID: la OID que buscamos con el “MIB Browser”.
    • SNMP Community: la clave para acceder al equipo.
    • Port: el puerto por el que trabaja el SNMP (161).
  • Type of information: declarar si es númerico, texto, etc.
  • Update interval (in sec): cada cuanto tiempo se va a recoger el dato.
  • Description: una breve descripción de ítem.

El resto de parámetros no los usaremos para este ejemplo.

Cuando hayamos guardado en la pestaña ítems de nuestro equipo deberá aparecer todos los ítems que hayamos creado, para saber que estos funcionan correctamente debe aparecer a la derecha del todo una columna llamada “Status” en la que debe aparecer “enabled” si lo tenemos activado y a su derecha debe de haber un icono verde que indica que no hay errores al recoger el dato.

Puede darse el caso de que tengamos varios dispositivos similares a los que queramos monitorizar los mismos ítems, por lo que, sería conveniente crear los ítems y los triggers en la plantilla para no tener que crearlos para cada uno de los equipos.

Creación de Triggers

Los triggers o disparadores son elementos que envían una notificación cuando se cumple una condición previamente establecida. Estos se refieren a un ítem en concreto.

Seleccionamos “triggers/Create trigger”:

  • Name: Nombre del trigger.
  • Expresion: aquí indicaremos la condición que debe cumplirse para que se desencadene el disparador.
  • Description: breve descripción de lo que hace el trigger.
  • Severity: aquí podemos elegir la magnitud del problema (se mostrará en la tabla de incidencias de monitoring).

Respecto a “Expresion” la nomenclatura que hay que seguir es esta .

Ejemplo:

{nombreDelHost:NombreDelItem.función}(<, >, >=, <=, #, etc.) valor

{UPS0004:upsAdvRunTimeRemaining.last(0)}<10m

Este trigger nos avisará cuando el último valor (last) recogido del tiempo de carga restante (upsAdvRunTimeRemaining) del equipo UPS0004 es menor que 10 minutos ({x} < 10m). Si se cumple la condición mandará un aviso por zabbix según la importancia de la incidencia que hayamos indicado.

Referencias