Monitoreando Routers y Switches con Nagios

Introducción

Este documento describe como usted puede monitorear el estado de los switches y routers de la red. Algunos switches y hubs baratos “inadministrables” no tienen una dirección IP y esencialmente son invisibles en su red, por lo tanto no hay forma de poder monitorearlos. A switches y routers más caros se les puede asignar direcciones y pueden ser monitoreados pingeandolos o utilizando SNMP para solicitar información sobre su estado.

Se describira como usted puede monitorear las siguientes cosas en switches, hubs y routers administrables:

  • Pérdida de Paquetes, round trip average
  • Información sobre el estado usando SNMP
  • Ancho de Banda / Taza de Tráfico

Note Nota: Estas instrucciones asumen que usted instaló Nagios de acuerdo a las guías de instalación rápida. La configuración de ejemplo en la parte inferior hace referencia a objetos que estan definidos en los archivos de configuración de ejemplo (commands.cfg, templates.cfg, etc.) que fueron instalados si usted siguio la guía rápida.

Descripción

Monitoreando Routers y Switches

Monitoring switches and routers can either be easy or more involved – depending on what equipment you have and what you want to monitor. As they are critical infrastructure components, you’ll no doubt want to monitor them in at least some basic manner.

Los switches y routers pueden ser monitoreados facilmente “pingueandolos” para determinar pérdida de paquetes, RTA, etc. Si su switch soporta SNMP, usted puede monitorear el estado de los puertos, etc. con el plugin check_snmp y el ancho de banda (si usted esta utilizando MRTG) con el plugin check_mrtgtraf.

El plugin check_snmp solamente puede ser compilado e instalado su usted tiene instalados los paquetes net-snmp y net-snmp-utils instalados en su sistema. Asegurese que su plugin existe en /usr/local/nagios/libexec antes de continuar. Si no es así, instale net-snmp y net-snmp-utils y recompile/reinstale los plugins de Nagios.

Pasos

Hay varios pasos que usted necesita seguir en orden para monitorear un nuevo router o switch. Estos son:

  1. Realizar prerequisitos por primera vez
  2. Crear nuevas definiciones de equipos y servicios para monitorear el equipo
  3. Reiniciar el servicio de Nagios

Que es lo que ya se ha hecho por usted

Para hacerle la vida un poco más fácil, algunas tareas de configuración ya se han realizado para usted:

  • Dos definiciones de comandos (check_snmp y check_local_mrtgtraf) han sido agregadas al archivo commands.cfg. Esto le permite utilizar los plugins check_snmp y check_mrtgtraf para monitorear routers de red.
  • Una plantilla de switch (llamada generic-switch) ha sido creada en el archivo templates.cfg. Esto le permite a usted agregar nuevas denificiones de equipo router/switch de una manera simple.

Los archivos de configuración anteriormente mencionados pueden ser localizados en el directorio /usr/local/nagios/etc/objects/. UUsted puede modificar estas definiciones u otras definiciones para satisfacer mejor sus necesidades si usted así lo desea. Sin embargo, se le recomienda esperar mientras usted se familiariza con la configuración de Nagios antes de hacerlo. Por el momento, solo siga las instrucciones en la parte inferior y usted estará monitoreando sus routers/switches de red rápidamente.

Prerequisitos
La primera vez que usted configure Nagios para monitorear una máquina Windows, usted necesitara realizar un poco más de trabajo. Recuerde, usted necesita realizar esto para el *primer* switch que va a monitorear.

Edite su archivo de configuración de Nagios principal (main).

vi /usr/local/nagios/etc/nagios.cfg

Quite el caracter asterisco (#) de la siguiente línea de su archivo de configuración principal:

#cfg_file=/usr/local/nagios/etc/objects/switch.cfg

Grabe y salga.

¿Qué es lo que ha hecho?, usted le acaba de decir a Nagios que vea el archivo /usr/local/nagios/etc/objects/switch.cfg para encontrar definiciones de objetos adicionales. Ahi es donde usted estara agregando definiciones de equipos y servicios para los routers y switches. El archivo de configuración ya contiene definiciones ejemplo de equipos, grupo de equipos (hostgroups) y servicios. Para el *primer* router/switch que va a monitorear, usted simplemente modifique las definiciones de ejemplo de equipos y servicios en ese archivo, en vez de crear nuevas.

Configurando Nagios

Usted necesita crear algunas definiciones de objetos en orden para monitorear un nuevo router/switch.

Abra el archivo switch.cfg para editarlo.

vi /usr/local/nagios/etc/objects/switch.cfg

Agregue una nueva definición de equipo para el switch que usted va a monitorear. Si este es el *primer* switch que va a monitorear, usted simplemente puede modificar la definición de equipo de ejemplo en el archivo switch.cfg. Cambie los campos host_name, alias, y address a los valores apropiados para el switch.

define host{
 use  generic-switch  ; Inherit default values from a template
 host_name  linksys-srw224p  ; The name we're giving to this switch
 alias  Linksys SRW224P Switch ; A longer name associated with the switch
 address  192.168.1.253  ; IP address of the switch
 hostgroups allhosts,switches   ; Host groups this switch is associated with
 }

Monitoreando Servicios

Ahora usted puede agregar definiciones de servicios (en el mismo archivo de configuración) para monitorear diferentes aspectos del switch. Si este es el *primer* witch que va a monitorear, usted simplemente puede modificar las definiciones de servicios en el archivo switch.cfg.

Note Nota: Reemplace “linksys-srw224p” en las definiciones de ejemplo en la parte inferior con el nombre que usted especifico en la directiva host_name de la definición de equipo que acaba de agregar.

Monitoreando Pérdida de Paquetes y RTA

Agregue la siguiente definición de servicio en orden para monitorear pérdida de paquetes y promedio de round trip entre el equipo de Nagios y el switch cada 5 minutos bajo condiciones normales.

define service{
 use   generic-service ; Inherit values from a template
 host_name linksys-srw224p ; The name of the host the service is associated with
 service_description PING ; The service description
 check_command  check_ping!200.0,20%!600.0,60% ; The command used to monitor the service
 normal_check_interval 5 ; Check the service every 5 minutes under normal conditions
 retry_check_interval 1 ; Re-check the service every minute until its final/hard state is determined
 }

Este servicio será:

  • CRITICO (CRITICAL) si el promedio de round trip (RTA) es mayor a 600 milisegundos o la pérdida de paquetes es 60% o más
  • PRECAUCIÓN (WARNING) si el RTA es mayor a 200 ms o la pérdida de paquetes es 20% o más
  • OK si el RTA es menor a 200 ms y la pérdida de paquetes es menor a 20%

Monitorando Información de Estado con SNMP

Si su switch o router soporta SNMP, usted puede monitorear mucha información utilizando el plugin check_snmp. Si no es así, salte esta sección.

Agregue la siguiente definición de servicio para monitorear el tiempo de actividad (uptime) del switch.

define service{
 use   generic-service ; Inherit values from a template
 host_name   linksys-srw224p
 service_description Uptime 
 check_command  check_snmp!-C public -o sysUpTime.0
 }

En la directiva check_command de la definición de servicio anterior, el “-C public” le dice al plugin que la comunidad SNMP que va a ser utilizada es “public” y el “-o sysUpTime.0” indica cual OID deberá ser revisada.

Si usted desea asegurarse si un puerto o interfaz en especifico del switch estan en funcionamiento, usted puede agregar una definición de servicio como la siguiente:

define service{
 use   generic-service ; Inherit values from a template
 host_name   linksys-srw224p
 service_description Port 1 Link Status
 check_command  check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB
 }

En el ejemplo anterior, el “-o ifOperStatus.1” se refiere al OID para el estado operacional del puerto 1 en el switch. La opción “-r 1” le dice al plugin check_snmp que regrese el estado OK si “1” si es recibido como resultado de SNMP (1 indica un estado de funcionamiento (“up”) del puerto) y (CRÍTICO) CRITICAL si no fue recibido 1. El “-m RFC1213-MIB” es opcional y le dice al plugin check_snmp que solo cargue el “RFC1213-MIB” en vez de cada una de las MIBs que estan instaladas en su sistema, lo cual puede hacer que se agilice todo.

Eso es todo para el ejemplo de monitoreo con SNMP. Hay muchas cosas que pueden ser monitoreadas utilizando SNMP, por lo cual es cuestion de usted que necesita y que quiere monitorear. Buena suerte!

Tip Tip: Usted puede usualmente encontrar OIDs que pueden ser monitoreadas en un switch ejecutando el siguiente comando (reemplace 192.168.1.253 con la dirección IP del switch):
snmpwalk -v1 -c public 192.168.1.253 -m ALL .1

Monitoreando Ancho de Banda / Taza de Tráfico

Si usted esta monitoreando el uso de ancho de banda en switches y routers utilizando MRTG, usted puede hacer que Nagios le alerte cuando las tazas de tráfico exceden umbrales o rangos que usted especifica. El plugin check_mrtgtraf (el cual es incluido en la distribución de plugins de Nagios) le permite a usted hacer eso.

Usted necesita permitir al plugin check_mrtgtraf conocer cual archivo de registro (log) donde se guardan los datos de MRTG, junto con los rangos o umbrales, etc. En este ejemplo, se va a monitorear uno de los puertos de un switch linksys. El archivo de registros (log) de MTRG esta grabado en /var/lib/mrtg/192.168.1.253_1.log. A continuación se muestra la definición de servicio que se utiliza para monitorear el uso ancho de banda que esta grabada en ese archivo de registro (log file)…

define service{
 use   generic-service ; Inherit values from a template
 host_name   linksys-srw224p
 service_description Port 1 Bandwidth Usage
 check_command  check_local_mrtgtraf!/var/lib/mrtg/192.168.1.253_1.log!AVG!1000000,2000000!5000000,5000000!10
 }

En el ejemplo anterior, la opción “/var/lib/mrtg/192.168.1.253_1.log” que es pasada al comando check_local_mrtgtraf le dice al plugin cual archivo de registros de MRTG se va a leer. La opción “AVG” le dice que deberá utilizar estadisticas promedio de ancho de banda. Las opciones “1000000,2000000” son los rangos de precaución (en bytes) para las tazas de tráfico entrante. Las opciones “5000000,5000000” son rangos críticos (en bytes) para tazas de tráfico saliente. La opción “10” cause que el plugin regrese un estado CRÍTICO (CRITICAL) si el archivo de registros no se ha actualizado en 10 minutos (se debe actualizar cada 5 minutos).

Grabe el archivo.

Reiniciando Nagios

Una vez que usted ha agregado las nuevas definiciones de equipos y serviciosen el archivo switch.cfg, usted esta listo para monitorear un router/switch. Para esto, usted necesita verificar su configuración y reiniciar Nagios.

Si el proceso de verificación produce un error, arregle los archivos de configuración antes de continuar. Asegurese de no reiniciar Nagios hasta que el proceso de verificación se complete sin errores!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: