Download sistema de monitorización – pandora fms
Document related concepts
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