Download sistema de monitorización – pandora fms

Document related concepts

Pandora FMS wikipedia , lookup

Nagios wikipedia , lookup

Adobe Flash Media Server wikipedia , lookup

Univention Corporate Server wikipedia , lookup

Zabbix wikipedia , lookup

Transcript
Luis Caballero Cruz
Ingeniería Técnica Informática de Sistemas
Universidad de Sevilla
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
1.1- INTRODUCCIÓN AL PROBLEMA:
En el sector empresarial, en concreto en el mundo de las telecomunicaciones, es
necesario contar con redes de alta disponibilidad, ya que están cada día más ligadas a los
resultados comerciales que se obtienen. Causas ajenas o externas a la propia empresa
como son los graves desastres naturales como incendios, terremotos o inundaciones que
conllevan que multitud de usuarios se vean afectados. Pero además, existen causas
internas, como por ejemplo, caídas de la red o comunicaciones, errores de operación,
errores de software, errores de disco, errores de procesador o incluso un simple
mantenimiento preventivo.
Por lo tanto, es un factor de vital importancia poder reaccionar ante adversidades y
tener prevista una estrategia de respuesta diseñada ante cambios inesperados o
inapropiados en nuestro sistema. Esto requiere una gestión de disponibilidad o plan de
contingencias en los servicios del sistema, donde poder identificar y prevenir de forma
rápida las posibles incidencias.
Para ello, es necesario tener algún mecanismo o herramienta que nos sirva de
ayuda o guía hacia las especificaciones válidas preestablecidas, evaluando así de manera
crítica el buen comportamiento de nuestro sistema. Esto es posible afrontarlo mediante los
sistemas de monitorización de redes, los cuales nos permiten supervisar y asegurar de
forma permanente que nuestro proceder de nuestras acciones está encaminado de forma
adecuada y eficazmente hacia nuestro objetivo o resultado final, evitando o corrigiendo las
posibles desviaciones que pudieran presentarse.
Ilustración 1 – Situación práctica de un sistema de monitorización.
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
1
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
Actualmente, existen estudios sobre la alta disponibilidad donde se afirma que una
de cada cinco empresas de las más grandes del mundo desaparecería si sus sistemas se
detuviesen más de 48 horas. Cada minuto de down-time (tiempo muerto) no sólo tiene un
impacto económico en las pérdidas y también en la reputación sobre la empresa, sino que
además supone una amenaza para la existencia del propio negocio. La aspiración de las
organizaciones es intentar hacer realidad los cinco 9, mantener el 99,999% del tiempo
operativo sus servicios, ya que esto reduce considerablemente el tiempo de inactividad.
Porcentaje de
disponibilidad
Aproximación de tiempo en inactividad
por año
95%
18 días
99%
4 días
99,9%
9 horas
99,99%
1 hora
99,999%
5 minutos
Fuentes:
http://www.cientec.com/negocios_alta.html
http://campusvirtual.unex.es/cala/epistemowikia/index.php?title=Arquitectura_alta_disponibilidad
http://www.swgreenhouse.com/Productos/Vision/DefHighAval.html
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
2
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
1.2- SOLUCIÓN PLANTEADA:
En colaboración con la empresa Ártica Soluciones Tecnológicas con base en Madrid,
fundadora del software libre llamado Pandora FMS v4.0, propondremos una solución que
permita analizar y vigilar mediante un autómata, prácticamente en tiempo real, todo tipo
de aplicaciones y sistemas.
Nuestra solución propuesta, es una herramienta de software libre OpenSource
(código abierto) con licencia GPL versión 2 (GNU Public License) la cual está orientada a
proteger la libre distribución y modificación de software libre.
También existe una versión con una licencia comercial, Pandora FMS Enterprise que
proporciona numerosas características adicionales, aunque el 90% del código es similar a la
versión OpenSource. Esta versión incluye además soporte profesional, actualizaciones y
mantenimiento mediante el sistema Open Update Manager.
Esta aplicación de monitorización sirve para vigilar y analizar de forma visual todo
tipo de sistemas y aplicaciones, utilizando una interfaz o entorno web a través de nuestro
navegador. Es una herramienta modular y flexible y está orientada datos. Puede supervisar
todo tipo de parámetros o servicios, incluso hasta su Sistema Operativo mediante agentes
específicos que recolectan información. Trabaja y puede implementarse sobre cualquier
distribución Windows (2000, XP, 2003, 2008, Vista, 7), GNU/Linux, MAC, Solaris, AIX, HPUX, BSD/IPSO y OpenWRT.
Bajo los servicios más comunes, puede monitorizar la carga del procesador, espacio
libre en disco, uso de memoria, procesos que están corriendo en el sistema. Además, puede
detectar si una interfaz de red se ha caído, un ataque de “defacement” en una web incluso
un movimiento de un valor en NASDAQ (bolsa de valores automatizada electrónica de
EEUU). Puede monitorizar también mediante SNMP (protocolo de intercambio de
información entre dispositivos de red) y pruebas de red (TCP/ICMP) y comprobar cualquier
sistema hardware con conectividad TCP/IP (protocolo de transmisión y de internet), como
por ejemplo, cortafuegos, proxies, bases de datos, VPN (red privada virtual), balanceadores
de carga, routers, switches, impresoras, etc.
Todo esto controlado mediante notificaciones, las cuales son enviadas mediante
correo electrónico o SMS cuando cualquier parámetro establezca un valor incorrecto o por
encima del umbral establecido.
Trabaja bajo una base de datos, actualmente MySQL es el único formato soportado,
y es donde almacena todos los datos recibidos por los módulos de los agentes, por lo tanto
es el componente más vital de la arquitectura de nuestra herramienta.
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
3
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
Estos datos se gestionan automáticamente y no requiere ningún tipo de
administración de base de datos ni proceso manual. Se realiza periódicamente una
compactación de los datos con una determinada antigüedad.
Gracias a esta base de datos, puede generar estadísticas, gráficas y niveles de
adecuación de servicio (SLA). También puede generar informes, los cuales pueden ser
programados en la versión comercial para ser enviados a un correo electrónico de forma
recurrente, es decir, de forma diaria o cada semana, cada mes, etc. El formato del informe
es el estándar PDF.
Cabe mencionar que Pandora FMS no es un sistema de monitorización de entornos
críticos, ya que su monitorización no es completamente en tiempo real (+5 segundos).
Tampoco es una herramienta de correlación y análisis de logs o eventos. Puede
recolectarlos y procesarlos pero no es su función principal.
Las iniciales en el nombre de Pandora FMS vienen de Flexible Monitoring System, y
de acuerdo con ello, es una herramienta extremadamente flexible, modular y
descentralizada. Consta de diversos elementos en su arquitectura, entre ellos, los
servidores, que se encargan de recolectar y procesar los datos e introducirlos en la base de
datos (todos los servidores acceden a la BD). Son los encargados de realizar las
comprobaciones y comparaciones existentes y verifican, de forma constante, si algún
elemento tiene algún problema y cambian el estado de los mismos según los resultados
obtenidos. Por tanto, son los que avisan mediante alertas para el control del estado de los
datos. A continuación, pondrían en ejecución la acción definida en la alerta, como por
ejemplo, mandar la notificación o ejecutar un script personalizado.
Existen una totalidad de 10 servidores diferentes y especializados en diferentes
tareas, de los cuales 7 existen en la versión OpenSource y hay 3 sólo para la versión
Enterprise. Todos están integrados en una aplicación, llamada de forma genérica “Pandora
Server”, la cual es una aplicación multihilo o multiproceso que ejecuta en diferentes
subprocesos cada instancia especializada. Cada uno de ellos puede ser monitorizado desde
la Consola Web, en la sección de ‘estado de servidores’, observando así su estado. A
continuación, describiremos brevemente cada uno de ellos.
Servidor de datos (Data Server): Recolectan información de los agentes Software que
envían datos XML por diferentes protocolos de forma segura como SSH, FTP o Tentacle y el
servidor verifica periódicamente si hay nueva información para procesar. Se ejecuta como
demonio o servicio y es uno de los elementos críticos del sistema. No realiza ningún tipo de
comprobación remota, ya que sólo trabaja con la información que recibe de los agentes.
Servidor de red (Network Server): Ejecuta tareas de monitorización remota a través de la
red, como por ejemplo: icmp Ping, tiempos de latencia, peticiones TCP y SNMP. Para poder
establecer funcionalidad a estos servicios es necesario que exista “visibilidad de red” entre
los equipos, es decir, que sea accesible y que ambos estén conectados a la red.
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
4
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
Servidor de SNMP (SNMP Console): Mediante el demonio snmptradp del sistema realiza la
recolección de traps. Al recibirlos, el servidor SNMP de Pandora los procesa y almacena.
También puede lanzar las alertas asignadas en la consola.
Servidor de VMI (VMI Server): Recoge datos de sistemas operativos y aplicaciones de
entornos Windows de forma remota y sin ningún tipo de agente, mediante el estándar de
VMI de Microsoft.
Servidor de reconocimiento (Recon Server): Explora periódicamente la red y detecta nuevos
sistemas en funcionamiento. Puede aplicarse una plantilla de configuración para aquellos
sistemas detectados recientemente para que se pueda monitorizar inmediatamente. Es
capaz de identificar sistemas por su Sistema Operativo mediante las aplicaciones de
sistemas nmap, xprobe y traceroute.
Servidor de complementos (Plugin Server): Ejecuta pruebas complejas definidas por el
usuario desarrolladas en cualquier lenguaje e integrados en la interfaz de Pandora FMS de
forma centralizada.
Servidor de predicción (Prediction Server): Es un componente de Inteligencia Artificial que
implementa de forma estadística una previsión de datos a partir de datos antiguos (hasta
30 días) y conocer si un dato actual es anómalo respecto a su historial.
Los siguientes 3 servidores son los que incluye, además de los anteriores, la versión
comercial Enterprise de Pandora FMS, a diferencia de la versión OpenSource.
Servidor de pruebas WEB (Goliat Server): Sirve para realizar pruebas de carga. Se utiliza para
pruebas de comprobación (funciona o no) y para obtener tiempos de latencia de
experiencia completa de navegación.
Servidor de exportación (Export Server): Permite exportar datos de un dispositivo
monitorizado de una instalación de Pandora FMS a otra, y así replicar los datos. Esto es
especialmente útil cuando se tiene un gran despliegue con varias instalaciones de Pandora
FMS, y se quiere tener cierta información crítica centralizada en uno sólo.
Servidor de inventario (Inventory Server): Obtiene y visualiza información de inventario de
los sistemas: Software instalado, parches, chips de memoria en el hardware, discos duros,
servicios corriendo en el sistema, etc. Puede obtener esta información tanto de forma
remota, como a través de los agentes software.
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
5
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
Ilustración 2 – Esquema de arquitectura de Pandora FMS
También existen los agentes, que son aplicaciones que corren en los sistemas y
recolectan información para enviárselas a los servidores. Podemos diferenciar tres tipos
diferentes:
Agente: Es un elemento organizativo creado por la consola web y que se
asocia a un grupo de elementos monitorizados. Puede contener módulos de
tipo remoto o tipo local. Los de tipo remoto, son por ejemplo:
- Comprobación de si una máquina está conectada o en línea (PING)
- Comprobación de si un puerto abierto o cerrado.
- Comprobación de si una web alojada en un cierto equipo, responde
correctamente.
- Comprobaciones hardware a través de SNMP
- Comprobación del tiempo de latencia entre el equipo y servidores de
Pandora FMS.
Mientras que los de tipo local, son los definidos en los Agente Software.
Agente Software: Son instalados en las máquinas remotas a monitorizar y en
su ejecución obtienen información local. Realiza el intercambio de
información con el servidor de Pandora FMS mediante una API definido por
un XML, también llamados paquete de datos. El proceso de copia de datos al
servidor de realiza de forma síncrona, es decir, cada x tiempo, el cual se puede
modificar. El intervalo predefinido es de 300 segundos, que equivale a 5
minutos. La transferencia de paquetes se realiza con el protocolo Tentacle.
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
6
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
Están basados en lenguajes nativos de cada plataforma: ShellScripting para
Unix, así como IPSO de Nokia (cortafuegos Check Point). Para Windows se
desarrollan en C++.
Agente físico: Está montado sobre un router Asus con características
inalámbricas y un autómata Arduino. Junto con los sensores calibrables
consigue monitorizar características ambientales como: humedad,
temperatura, luz ambiental, presencia.
Además, posee como entorno de usuario una Consola Web, que permite la
administración y control total de nuestra herramienta con diferentes privilegios según el
usuario. Se encarga de visualizar los datos presentes en la base de datos. Está programada
en PHP y no requiere la instalación de ningún software adicional: ni Java, ni ActiveX. No
obstante, las gráficas están disponibles en FLASH y para poder verlas en este formato será
necesario este complemento para el navegador.
Ilustración 3 – Interfaz o consola web de usuario de Pandora FMS
Fuentes:
http://openideas.info/wiki/index.php?title=Pandora_3.0:Documentation
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
7
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
1.3- ESTUDIO DEL ARTE:
Comparativa – Estudio del arte:
Software Libre (Licencia GPL):
-Nagios
-Hyperic
-Zabbix
-Zenoss
-Ganglia
-OpenNMS
-Cacti - Herramienta gráfica de rendimiento RRDtool, no herramienta de
monitorización.
-Munin – “”
Comerciales:
-Patrol
-HP Openview
Valores a comparar:
Gráficas, Informes, Estadísticas, Agentes, SNMP, Syslog, Complementos, Alertas,
Almacenamiento, Mapas, Seguridad, Eventos.
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
8
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
El principal competidor de nuestra solución planteada es Nagios Core Versión 3.x.
Es una herramienta de software libre Open Source y está diseñado y mantenido por Ethan
Galstad, autor de dicho software, junto con un grupo de desarrolladores que mantienen
varios plugins. Según su propio autor, el significado de su nombre, N.A.G.I.O.S es un
acrónimo recursivo: “Nagios Ain´t Gonna Insist On Sainthood”. Es una referencia a la
encarnación original del software bajo el nombre de Netsaint.
Está licenciado bajo la GNU General Public License Version 2 publicada por Free
Software Fundation. También posee una licencia comercial Nagios PoweredTM la cual pone
a disposición de sus clientes dos softwares: Nagios XI y OpMon. El primero de ellos, se
puede obtener basándose en el volumen de nuestro sistema: entre 50 a
100 nodos o para nodos ilimitados, y representa la versión de Nagios
comercial. El segundo, es una solución de gobierno IT y gestión de procesos
empresariales y es compatible con Nagios.
En cuanto a su arquitectura y definición, es un sistema de monitorización
monolítico y orientado a eventos que vigila los equipos, tanto su hardware como software,
alertando cuando el comportamiento de los mismos no es el adecuado. Puede monitorizar
servicios de red, recursos hosts y puede programar plugins específicos para nuevos
sistemas. El control remoto es manejado a través de túneles SSH o SSL cifrado. Fue
diseñado para sistemas GNU/Linux pero también funciona en variantes Unix.
Está basado en una estructura maestro-esclavo donde el maestro es el servidor
dedicado para Nagios y los esclavos las máquinas a monitorizar.
En cada uno de los esclavos o clientes a monitorizar se configuran los plugins o scripts que
serán ejecutados para chequear un determinado servicio. Dichos scripts pueden estar
desarrollados en diferentes lenguajes o tecnologías: Perl, C/C++/C#, Expect/TCL, Bash,
Ruby, Python, o PHP. Aunque Nagios posee opcionalmente un intérprete embebido de Perl
que acelera la ejecución de estos scripts.
En el maestro se ejecuta una herramienta de conexión remota, la más habitual es
el demonio NRPE, con la cual el servidor accede a los plugins o scripts de medición
disponibles y configurados en las máquinas remotas o esclavos.
Ilustración 4 –Esquema de ejecución entre maestro-esclavo.
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
9
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
Algunas de sus principales características o funciones pueden ser:
-
Supervisión de los servicios red (SMTP, POP3, HTTP, NNTP, PING,etc).
Monitorización de los recursos (carga de procesador, espacio en
disco,etc).
Capacidad para definir una jerarquía de servidores en la red, lo que
permite la detección de hosts ‘down’ o inalcanzables.
Notificación de errores cuando existen problemas y cuando son
resueltos mediante correo electrónico, buscapersonas, SMS, etc.
Registro automático de rotación de logs.
Interfaz web para visualizar el estado actual de la red con la posibilidad
de generar informes y gráficas.
Su interfaz web nos permite la visualización de los servidores y el estado de los
servicios. Podemos organizar las máquinas o esclavos monitorizados, si realizamos la
configuración oportuna, por Grupos y por Servicios. Para el primero, por ejemplo, si
pertenecen a una misma familia o estación. Mientras que para el segundo, agruparlos
referente a un servicio determinado, por ejemplo, para aplicaciones web el servicio HTTP.
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
10
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
Ventajas:
-
-
Es un software popularmente conocido y consolidado, ya que posee una
arquitectura de plugins de la comunidad para extender sus funcionalidades a
través de innumerables sitios webs, que incluso son facilitados en su manual
oficial.
Permite diferenciar entre hosts caídos o inaccesibles.
Inconvenientes:
-
-
-
La instalación, configuración y los complementos (plugins) está basada en texto,
lo cual implica una dificultad media y requiere un grado de conocimiento técnico.
Además puede resultar algo tedioso.
Cualquier modificación requiere un reinicio completo del sistema.
Su interfaz web sólo sirve para visualizar los acontecimientos. Cualquier cambio
debe realizarse manualmente desde el servidor de Nagios.
Posee un bajo diseño en el sistema de mapas, gráficas y estadísticas de la interfaz
web.
No está disponible o no funciona en todos los sistemas operativos, por ejemplo,
en sistemas Microsoft Windows, es decir, sólo está disponible para sistemas GNU
Linux y otros unicode. Necesita una herramienta auxiliar para monitorizar estos
sistemas que sirva de proxy o intermediario, por ejemplo, NSClient++.
En comparativa en concreto con Pandora FMS, el soporte técnico que podríamos
recibir sería en castellano, ya que la empresa fundadora es de nacionalidad
española, mientras que con Nagios el soporte sería en inglés.
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
11
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
Hyperic
Es una aplicación para la monitorización y rendimiento de infraestructuras.
Autodescubre todos los recursos del sistema incluyendo hardware, sistemas operativos,
virtualización, base de datos, aplicaciones y servicios. Alerta cuando hay un parámetro con
mal funcionamiento y también cuando vuelve a ser estable. Funciona mediante agentes en
cada equipo que se desee administrar, los cuales recolectan tanto información del sistema
operativo, como su proveedor o versión y también específicos del hardware, como la
memoria RAM.
También dispone de una versión comercial vFabric Hyperic con funciones
avanzadas de automatización y control.
Ventajas:
-
Los agentes realizan exploraciones automáticas para detectar cambios en la
configuración.
Soporta base de datos en MySQL, Oracle y PostgreSQL.
Control total de la aplicación desde la interfaz web.
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
12
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
1.4- OBJETIVOS Y MOTIVACIONES PERSONALES:
SISTEMA DE MONITORIZACIÓN – PANDORA FMS
13