Está en la página 1de 8

Monitoreo de infraestructura de TI con Nagios.

Nagios es una herramienta muy poderosa que permite monitorear infraestructura TI

(Servidores, servicios y dispositivos) desde algunos cientos a cientos de miles. Las

características que lo hacen una opción muy interesante como herramienta de monitoreo

son:

 Muy bien documentado.

 Monitoreo de infraestructura Opensource provisto por Nagios Core.

 La variante comercial llamada Nagios XI (Reportes, personalizaciones y soporte).

Recientemente han incorporado variantes intermedias mucho más económicas.

Instalando como base la versión Core, es posible agregarle las distintas capas que

sean necesarias y así personalizarlo.

Características técnicas

 Usa protocolos estándar para la comunicación: TCP, ICMP, UDP, HTTP, etc.

 Verifica recursos de hosts: Discos, CPU, Memoria, tiempo en línea a través de

clientes (NRPE ó NSClient++).

 Manejo de eventos: Reinicios de servicios (multiplataforma). Ante un error, es

posible ejecutar un comando para reiniciar el servicio, disparar una tarea o script.

 Ejecución remota de scripts y procesos por lotes (vbs, bat, etc.) agregan aún más

flexibilidad.

 Por defecto, los chequeos se ejecutan cada 5 minutos (configurable) a HOSTS,

GRUPOS DE HOSTS, SERVICIOS, GRUPOS DE SERVICIOS.


 Verificaciones Activos (iniciados por Nagios) y Pasivos (iniciados externamente e

interpretados por Nagios).

 Monitoreo en paralelo.

Es modular, lo que permite instalarle capas sucesivas e independientes: Nagios

Core, Nagios XI, Plugins o Componente gráficos (Cacti, Nagvis, etc.). Su configuración y

funcionamiento está basado en Objetos definidos, los más importantes son:

 Hosts (Servidor, PC, Router, switch, VMs).

 Servicios (Disco, CPU, disponibilidad, performance, base de datos, DNS, SMTP)

 Contactos (personas o grupos).

 Comandos (Ejecutados por nagios en/hacia un HOST y devolverán un resultado o

estado.

 Períodos de tiempo (umbrales para chequeos o notificaciones de usuarios).

Los HOSTS pueden crear relaciones de dependencia o herencia (padre-hijo)

aplicable a distintos ejemplos para este caso: Un switch que conecta a un grupo de

servidores y un dominio y sub-dominios.

También los SERVICES pueden tener dependencias padre-hijo. Por ejemplo:

Servicio CIFS que afecte el acceso a un servidor FTP. Notificaciones vía:

 SMS

 E-mail

 Personalizado (scripts)

 Syslog
Estados de notificaciones: (Objeto monitoreado) Down, Up, Recovered.

Cómo realizar el monitoreo de las distintas plataformas:

Windows

Se instala un agente, hay algunos de donde elegir, pero aparentemente el mejor mantenido y

con más funcionalidades sería NSClient++. Este cliente de Nagios se ejecutará como un

servicio de Windows, por lo general escuchando en el puerto TCP 12489. Es posible

configurarle de antemano (por cuestiones de seguridad) las peticiones que va a recibir.

Estas van desde consultar el uptime, memoria disponible y consumo de CPU hasta

información de las Tareas de Windows que se hayan ejecutado con error y ejecución de

scripts. (Fig.1)

Linux/Unix

Para obtener información de estas plataformas, suele usarse NRPE (Nagios Remote Plugin

Executor) y este a su vez consulta los plug-ins de Nagios instalados en el sistema remoto.

(Fig.2)
De no existir problemas de dependencias, suele ser más transparente que el cliente de

Windows.

Dispositivos de red

Todos ellos pueden ser consultados por ICMP (ping), pero si deseamos información como

ancho de banda, pérdida de paquetes y tiempo de respuesta, deberemos hacerlo a través del

protocolo SMNP. (Fig. 3)

Servicios

Uno de los controles más simples son los servicios (y protocolos), siempre y cuando

dispongamos de la información de acceso. Entre ellos están los servicios HTTP, FTP, SSH,

POP3, IMAP, SMTP, ICMP, etc. Por ejemplo, sería posible medir el tiempo de carga de un
sitio web, la disponibilidad de acceso por FTP o SSH, siempre desde el lado público. Para

ello no hace falta ningún software cliente instalado en el destino.

Monitoreo de infraestructura de TI con Cacti.

Cacti es una herramienta de código abierto que permite obtener datos en el tiempo,

provenientes de diferentes tipos de equipos, con el fin de crear gráficas de su

comportamiento en el tiempo, útil por ejemplo para el monitoreo de red. Es una interfaz

gráfica para RRDTool (Round Robin Data Tool), que es una herramienta que permite la

toma y graficación de datos en una serie de tiempo, haciéndole polling a equipos para que

respondan sobre algunas variables de desempeño de sus componentes.

También permite la toma de datos mediante el protocolo SNMP (simple network

management protocol). Es una herramienta que permite monitorizar y visualizar gráficas y

estadísticas de dispositivos conectados a una red y que tengan habilitado el protocolo

SNMP. Anteriormente revisamos Nagios, una de mis herramientas básicas para monitorizar

sistemas, sin embargo, en determinados momentos, necesitamos visualizar gráficas del

estado de nuestra red: ancho de banda consumido, detectar congestiones o picos de tráfico o

monitorizar determinados puertos de un equipo de red. (Fig.4)


Con Cacti podremos monitorizar cualquier equipo de red que soporte el protocolo

SNMP, ya sea un switch, un router o un servidor Linux. Siempre que tengan activado el

protocolo SNMP y conozcamos las MIBs con los distintos OIDs (identificadores de objeto)

que podemos monitorizar y visualizar, podremos programar la colección de gráficas con las

que queramos realizar el seguimiento. Cacti es una aplicación que funciona bajo entornos

Apache + PHP + MySQL, por tanto, permite una visualización y gestión de la herramienta

a través del navegador web. La herramienta utiliza RRDtool, que captura los datos y los

almacena en una base de datos circular, permitiendo visualizar de forma gráfica los datos

capturados mediante MRTG.

La instalación es bastante sencilla ya que se encuentra como paquete en casi todos

los repositorios de distribuciones linux (Debian, Ubuntu, Fedora, CentOS, etc). De hecho,

con sólo poner apt-get install cacti en Debian o en Ubuntu, se instalará la aplicación y todas

las dependencias necesarias (MySQL, Apache, PHP, etc). La instalación básica de Cacti

incluye un poller (sonda) basado en php que no está nada mal, que puede ser suficiente para
una red con unos 10-12 hosts, pero que con muchos dispositivos empieza a aumentar la

carga del sistema de forma preocupante. Para solventar este problema existe un paquete

adicional, cacti-spine, que mejora sensiblemente el rendimiento de la aplicación; ya que en

vez de realizar un sondeo secuencial por cada host, y por cada proceso de poller definido

(que puede haber más de uno en paralelo), permite, además del multiproceso, abrir

múltiples hilos de conexión por cada proceso, lo que hace que la carga del sistema baje.

¿Para qué se usa Cacti?

Se puede usar por ejemplo, para medir y graficar en el tiempo, el porcentaje de

utilización de un CPU, de memoria, de ancho de banda de un canal, la velocidad de un

ventilador, el monitoreo de red, etc.

Esto permite observar el comportamiento en el tiempo, de tal modo que si se

presenta una falla, se puede determinar en qué momento se inicia, en qué valores se

mantuvo, y cuando se volvieron a restablecer los valores normales.

¿Cuáles son las fuentes de datos?

Este sistema puede manejar cualquier script que recolecte información, ejecutándolo

de manera periódica, para guardar los archivos Round Robin en una base de datos MySQL.

Gráficas

Una vez que se han indicado la fuente de datos y su periodicidad de recolección, se

pueden crear diferentes tipos de gráficas de la herramienta RDDTool. Adicionalmente las

gráficas de pueden organizar en una estructura de árbol para su categorización y mejor

orden.

Creación de Usuarios

Cacti permite la creación de usuarios con diferentes permisos, para que se le permita

realizar todas o sólo ciertas acciones sobre las gráficas.


Uso de Plantillas

Permite la creación de plantillas asociadas tanto a la fuente de datos como a sus

gráficas, lo que facilita su reutilización con otros elementos del mismo tipo.

Requerimientos de Instalación.

Requiere como mínimo lo siguiente para funcionar:

 Sistema operativo Linux como Debian, Gentoo, Redhat, Fedora o SUSE.

 Servicio web Apache.

 PHP.

 MySQL

 RRDTool

 Si se usa SNMP se debe instalar net_snmp.

 Un navegador de internet para ejecutar Cacti.

También podría gustarte