Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistema de Monitorizacion OpenNMS PDF
Sistema de Monitorizacion OpenNMS PDF
1
Índice de contenido.
1. INTRODUCCIÓN. ............................................................................................................................ 3
1.1. SISTEMAS DE MONITOREO CON O SIN AGENTES .......................................................................................... 3
2. EL PROYECTO OPENNMS................................................................................................................. 5
3. FUNCIONALIDADES ........................................................................................................................ 6
3.1. GESTIÓN DE EVENTOS Y ALARMAS ........................................................................................................... 6
3.1.1. Recolección de Eventos ............................................................................................................ 6
3.1.2. Correlación de Alarmas ........................................................................................................... 7
3.1.3. Notificaciones de Usuario y Escalados Programados .............................................................. 9
3.1.4. Integración de Trouble Tickets ................................................................................................. 9
3.2. RENDIMIENTO Y GESTIÓN DE SLAS ........................................................................................................ 10
3.2.1. Rendimiento y Gestión de recolección de datos .................................................................... 10
3.2.2. Visualización de Datos ........................................................................................................... 10
3.2.3. Gestión de SLAs ..................................................................................................................... 11
3.3. INTEGRACIÓN Y GESTIÓN DE CONFIGURACIÓN ......................................................................................... 11
3.3.1. Configuración unificada ........................................................................................................ 11
3.3.2. Descubrimiento de la Red ...................................................................................................... 12
3.3.3. Configuración de Interfaces ................................................................................................... 13
3.3.4. Integración............................................................................................................................. 14
3.4. POLLER REMOTO ................................................................................................................................ 15
4. ARQUITECTURA ........................................................................................................................... 15
4.1. MEJORAS VERSIÓN 2.0. ....................................................................................................................... 16
5. IMPLEMENTACIÓN EN SPED.......................................................................................................... 17
6. OTROS SISTEMAS DE GESTIÓN DE RED .......................................................................................... 19
6.1. NAGIOS ............................................................................................................................................. 19
6.1.1. Características y funcionalidades .......................................................................................... 20
6.1.2. Funcionalidades básicas ........................................................................................................ 20
6.1.3. Estructura .............................................................................................................................. 21
7. BIBLIOGRAFÍA Y REFERENCIAS ...................................................................................................... 22
2
1. Introducción.
OpenNMS es una de las alternativas libres más destacadas para realizar tareas de
administración y gestión de redes, bajo sistemas Linux. Esta poderosa herramienta,
incorpora un paquete de funciones, que permiten controlar por completo todo el tráfico de
datos que se transmite a través de la red. OpenNMS es una aplicación fácil de utilizar.
Podemos manipular cada una de las características de la red, así como, analizar y detallar
cada uno de los archivos que se transfieren, y realizar una serie de tareas de gestión y de
conexiones de red.
Este software realiza un análisis de cada una de las conexiones entrantes y salientes de
nuestra red, con el principal objetivo de verificar si existen conexiones no autorizadas.
También, genera reportes completos de gestión, para documentar cada una de las
situaciones que se presenten en la red. Cuenta con una licencia de funcionamiento GPL.
Como la mayoría de los servicios de red se proporcionan a través del protocolo TCP / IP,
OpenNMS está muy centrado en el nivel IP. El elemento básico de monitorización se
llama "interfaz", y una interfaz se identifica por una dirección IP. Los servicios se asignan
a las interfaces, y si una serie de interfaces que se descubren pertenecen al mismo
dispositivo (ya sea a través de SNMP o SMB), éstas pueden agruparse juntas en un
"nodo".
3
monitoreo central.
Los sistemas que tienen la política de envío de información al servidor administrada por el
agente ubicado en el cliente, tienen como desventaja que pueden generar cargas de
trabajo en los equipos clientes. Por lo tanto es deseable que las políticas de envío de
información sean administradas por el servidor y no por el agente.
4
obtener menos datos y en un entorno menos seguro. En base a lo expuesto, y teniendo
en cuenta las ventajas y desventajas ya nombradas anteriormente de ambas soluciones
se agrega como requerimiento no funcional la característica de tener en su estructura el
uso de un agente en el cliente.
2. El Proyecto OpenNMS
Como ya se ha comentado, OpenNMS es un sistema de gestión de red orientado a
agente, y es la primera plataforma desarrollada bajo código abierto, GPL.
Está escrito en Java y por lo tanto es portable a todas las plataformas del mercado,
Windows, Linux, Sun, Unix, etc. Su escalabilidad en los sistemas ha sido probada, prueba
de ello son los resultados obtenidos: 300.000 puntos de datos cada 5 minutos y detección
automática de nodos centrales con más de 5000 interfaces.
Existe una amplia comunidad de usuarios comerciales que utilizan OpenNMS en sus
sistemas, tales como: Swisscom, MySpace, Foxtel, Fox TV, BBC Monitoring, Wind
Telecomunications.
5
no existen restricciones de acceso.
La licencia es del tipo GPL y la propiedad intelectual así como la marca es propiedad del
Grupo OpenNMS. El objetivo del grupo es promover el proyecto.
3. Funcionalidades
OpenNMS está dividido en una serie de funcionalidades que cumplen con unas
determinadas características.
Los Nodos Pasivos se utilizan para representar servicios o recursos gestionados por otro
agente. Existen dos procesos llamados Event Translator y Pasive Status que permiten a
los eventos mapearse a estos nodos.
6
Los eventos se controlan con el proceso Eventd el cual recibe y graba toda la información.
Este proceso escucha el puerto 5817 por el cual los demás procesos envían peticiones e
incluso se pueden enviar desde sistemas externos a OpenNMS.
Listado de Eventos
7
por primera vez un trap o disparo se recoge una alarma. Si se reciben sucesivos traps,
éstos se contarán en la misma alarma. Si se reconoce la alarma, se provocará un trap de
limpieza de la alarma y ésta desaparecerá quedando el sistema preparado para recibir un
nuevo evento. Este mecanismo de utilización es el más simple en un listado de alarmas.
El usuario también puede configurar reglas más sofisticadas de tratamiento de eventos de
alarmas incluso automatizándolo en función de un sofisticado análisis ya que posee un
motor de reglas.
Listado de Alarmas
Detalle de Alarma
8
3.1.3. Notificaciones de Usuario y Escalados Programados
OpenNMS soporta múltiples usuarios y proporciona un mecanismo de Escalado de
Notificaciones entre los usuarios. Si se detecta un evento severo, como una alarma
Mayor, este mecanismo generará una Notificación que se escalará en el tiempo a través
de una lista de usuarios si la alarma no se reconoce en un periodo de tiempo definido por
el usuario. El sistema también puede generar un sonido, un email o un mensaje
instantáneo para llamar la atención sobre la notificación. También existen mecanismos de
notificación tales:
Se pueden definir grupos de usuarios y roles a los cuales se les puede asociar cuentas
email genéricas.
Listado de Notificaciones
9
3.2. Rendimiento y Gestión de SLAs
OpenNMS ya lleva implementada una MIBS (base de datos SMNP) que soporta la gran
mayoría de fabricantes de equipamiento, pero los usuarios pueden definir sus propias
configuraciones. La comunidad de usuarios suelen compartir estos trabajos y sus
experiencias con los nuevos equipos.
Los datos pueden recogerse desde varias fuentes distintas: sondeo SNMP, traps de
gestión, mensajes ASCII tipo syslog, TL1, JMX. También existe una integración con
Nagios que permite la utilización de plugins de Nagios. OpenNMS también se ha
integrado con SNORT.
También se pueden definir umbrales que generan alarmas cuando hay cambios en los
datos. OpenNMS puede realizar transacciones sintéticas para comprobar la disponibilidad
de servicios en los nodos. Esto se puede realizar de una manera centralizada o con un
conjunto de rollers distribuidos remotamente.
10
3.2.3. Gestión de SLAs
Se pueden definir umbrales en los SLAs que generarán una alarma en cuanto se rebasen
y pueden escalarse en función de las reglas definidas. A cada punto de recolección de
datos de rendimiento se le puede asignar dos umbrales, uo superior y otro inferior, para
evitar los rebotes de alarmas.
11
3.3.2. Descubrimiento de la Red
Dado un rango de direcciones, OpenNMS puede descubrir por si mismo los elementos y
servicios dentro de una red. Automáticamente asocia puertos con nodos. La nomenclatura
por defecto de un nodo en la base de datos se rellenará con el nombre del dispositivo
detectado por un escaneo SNMP del dispositivo.
- Citrix
- DHCP
- DNS
- Domino IIOP
- FTP
- General Purpose (script based)
- HTTP
- HTTPS
- ICMP
- IMAP
- JBOSS (JMX)
- JDBC
- JDBC Stored Procedure
- JSR160
- K5
- LDAP
- Microsoft Exchange
- MX4J
- Notes HTTP
- NSClient (Nagios Agent)
- NRPE (Nagios Remote Plugin Executor)
- NTP
- POP3
- Radius
- SMB
- SMTP
- SNMP
- SSH
- TCP
- Windows Services (SNMP-based)
Es posible importar la configuración de los servicios con un fichero tipo XML. Esta
configuración deshabilitará los procesos de descubrimiento por medio de barridos ping. El
proceso Capsd es el responsable de descubrir todos los servicios a monitorizar sobre un
dispositivo. Recopila y almacena datos de diversas fuentes, incluyendo SNMP, JMX,
HTTP y NSClient.
12
servicios interrogando y registrando los tiempos de respuesta utilizando transacciones
sintéticas.
13
3.3.4. Integración
OpenNMS posee numerosos puntos de integración para la paginación, sonidos de
alarmas, email, tratamiento de tickets/incidencias, etc.
El sistema está preparado para utilizar mapas para mostrar la topología de la red tal y
como se refleja a continuación.
14
3.4. Poller Remoto
4. Arquitectura
A continuación se muestra un diagrama de bloques de la arquitectura OpenNMS:
15
El sistema tiene una serie de APIs que son las siguientes:
16
- Se ha mejorado el flujo de trabajo de las Alarmas y del Escalado.
- Se ha implementado una API REST para poder acceder utilizando tecnologías web
(Pearl, python, etc).
5. Implementación en SPED
Tal y como se ha planteado el Sistema de Prevención, Extinción de incendios forestales y
Detección de plantaciones irregulares (SPED), y una vez analizado en profundidad el
funcionamiento del sistema OpenNMS, podemos implementarlo para controlar y gestionar
nuestros servidores de datos, servidores de grabación de imágenes y hasta en nuestros
dispositivos concentradores o routers Meshlium Xtreme ya que tienen un SO basado en
Linux y por lo tanto podemos cargar el agente OpenNMS.
Existe un modelo de Mote que implementa un interface WIFI para la comunicación y que
nos permitiría gestionar en parte dicha comunicación con OpenNMS, pero el consumo se
dispararía y ya no sería viable ya que los requerimientos de energía conllevarían una
mayor batería y placa solar mayor.
17
Existe un SO que se ha diseñado para los dispositivos ZigBee y es el TinyOS que se trata
de un sistema operativo de código abierto y el cual nos brindaría la posibilidad de
implementar un pequeño agente con su propia MIB dentro del módulo de comunicación
ZigBee, pero hay que tener en cuenta que la filosofía de gestión de OpenNMS es que
quien realiza el Polling es el gestor OpenNMS hacia los dispositivos e interfaces y por
diseño esto no es operativo ya que la gran mayoría de veces nuestro Mote estaría en
suspensión. La idea a trabajar sería implementar la comunicación en sentido contrario, es
decir, quien inicia el polling debe ser nuestro dispositivo ZigBee para anunciar su
existencia al router coordinador y éste como sí que tiene implementado el agente
OpenNMS será el que controlará los tiempos de respuesta y demás datos.
Una futura línea de investigación sería evaluar y probar todas las ideas expuestas ya que
los Motes son dispositivos muy versátiles y además existe software de código abierto que
abre un sinfín de posibilidades.
18
6. Otros Sistemas de Gestión de Red
Como ya se ha mencionado en apartados anteriores, otro de los sistemas de
monitorización es Nagios. Es el más popular en lo que a sistemas de monitorización de
código abierto se refiere y se ha establecido como un estándar de facto.
6.1. Nagios
- Nagios carece de un soporte adecuado para entornos de gran magnitud, así como
de técnicas corporativas contemporáneas como pueda ser el clustering.
- El código base en C de Nagios, con diez años de antigüedad, presenta limitaciones
a la hora de adaptarlo a la rápida evolución de las redes de hoy en día.
Existe una evolución de Nagios que soluciona los dos problemas mencionados y se trata
de Shinken. El objetivo de Shinken es el de proporcionar un nuevo modelo multi-proceso
distribuido que se adapte bien a entornos distribuidos y heterogéneos. El proyecto
Shinken se encuentra en una fase temprana y falta implementar más funcionalidades. El
objetivo es asegurar una compatibilidad absoluta entre sus archivos y los de Nagios.
19
6.1.1. Características y funcionalidades
Nagios marca el estándar en la industria de monitoreo a grandes niveles por unas cuantas
razones. Este permite controlar la red informática y solucionar problemas antes que los
usuarios los detecten. Nagios es un sistema estable, escalable, con soporte y extensible.
Este sistema permite monitorear una importante cantidad de dispositivos y sistemas como
por ejemplo: Sistemas Operativos Windows, Sistemas Operativos Linux/Unix, Routers,
Switches, Firewalls, Impresoras, Servicios y Aplicaciones.
NAgios cuenta con una muy importante cantidad de addons desarrollados por la
comunidad (más de 200) que permiten extender las funcionalidades del sistema. Es un
software de código abierto, con acceso completo al código fuente, liberado bajo licencia
GPL.
Nagios es un sistema que cuenta con más de 10 años en desarrollo, es un sistema que
permite escalar hasta monitorear más de 100,000 nodos, cuenta con gran reconocimiento,
ganador de múltiples premios. Actualmente cuenta con más de 250.000 usuarios
alrededor del mundo. Tiene una lista de correos activa y una amplia comunidad a través
del website.
20
• Enviar de forma inmediata notificaciones de problemas vía email, pager o teléfonos
celulares.
• Capacidad de notificar a múltiples usuarios.
• Uso de su interfase web que permite ver información detallada de los estados de
los distintos componentes, reconocer problemas de forma rápida.
• Permite reiniciar automáticamente aplicaciones que hayan fallado, servicios y
equipos.
• Permite agendar actualizaciones de hosts, servicios y componentes de la red.
• Permite planificar las capacidades de los componentes a través del monitoreo.
• Permite generar reportes de disponibiidad SLA (Service Level Agreements), y
reportes históricos de alertas y notificaciones. Además permite ver las tendencias
de los informes a través de la integración con Cactus y RRD.
• Múltiples usuarios pueden acceder a la interfase web, además cada usuario puede
tener una vista única y restringida.
6.1.3. Estructura
Nagios tiene las siguientes características principales en cuanto a su estructura:
21
• Por último, si se compila para ello, Nagios guardará los históricos en una base de
datos para que al detener y reanudar el servicio de monitorización, todos los datos
sigan sin cambios.
• Nagios permite monitorizar sistemas Windows mediante la instalación de un agente
en la máquina a monitorizar, aunque la parte servidor de Nagios debe residir en un
servidor Unix/Linux.
7. Bibliografía y Referencias
- Informe Técnico: Protocolo ZigBee (802.15.4). Javier Martín y Daniel Ruiz. Junio
2007.
- http://www.libelium.com/development/waspmote
- http://www.opennms.org/
- http://www.nagios.org/
22