El componente vital y donde se almacena casi toda la información es la base de datos MySQL. Todos los componentes de Pandora FMS se pueden replicar y funcionar en un entorno de HA puro (Activo/Pasivo) o en un entorno de grupo o clúster (Activo/Activo con balanceo de carga).
Los Servidores PFMS, con la información generada por ellos mismos o por los Agentes, introducen los datos y la información en la base de datos. La Consola web es la parte encargada de mostrar los datos y de interactuar con el usuario final. Los Agentes Software son aplicaciones que corren en los sistemas monitorizados y recolectan la información para enviarla a los servidores Pandora FMS.
Los Servidores están integrados en una única aplicación, llamada de forma genérica Pandora Server, que es una aplicación multihilo que ejecuta de forma concurrente diferentes instancias o servidores especializados de Pandora FMS. Estos son los elementos encargados de realizar las comprobaciones existentes pues verifican y cambian el estado de las mismas en función de los resultados obtenidos. También son los encargados de disparar las alertas que se establezcan para controlar el estado de los datos.
Pueden existir servidores simultáneos; uno de ellos es el servidor principal y el resto de los servidores son servidores secundarios. Aunque exista un servidor secundario y uno principal, todos trabajan simultáneamente. La diferencia entre ambos es que cuando un servidor del mismo tipo va fuera de línea (por ejemplo, un Network Server) el servidor principal se encarga de procesar todos los datos que tenía asociado el servidor que está fuera de línea.
Pandora FMS gestiona automáticamente el estado de cada servidor, su nivel de carga y otros parámetros. El usuario puede monitorizar el estado de cada servidor a través de la sección de estado de servidores de la Consola web.
Solamente procesa la información enviada por los Agentes Software, los cuales construyen un paquete de información en formato XML y lo entregan en un directorio específico que el servidor de datos procesa primero y luego almacena su resultado en la base de datos.
Se pueden instalar diferentes servidores de datos en diferentes sistemas o en el mismo anfitrión mediante servidores virtuales con múltiples CPU.
A pesar de su sencillez el servidor de datos es uno de los elementos críticos del sistema, ya que procesa toda la información de los agentes y genera alertas y eventos del sistema conforme a esos datos.
Ejecuta tareas de monitorización remota a través de la red: chequeos ICMP (ej. ping y tiempos de latencia), peticiones TCP y peticiones SNMP. Es muy importante que las máquinas que ejecutan los servidores de red tengan «visibilidad de red» (conexión) a los dispositivos a monitorizar de manera remota.
Este servidor utiliza el daemon estándar del sistema de recolección de traps, el snmptrapd: Recibe traps SNMP y la Consola SNMP de Pandora FMS los procesa y almacena en la base de datos. También se ocupa de lanzar las alertas asociadas a traps SNMP que hayan sido definidas.
WMI es un estándar de Microsoft® para obtener información del sistema operativo y aplicaciones de entornos MS Windows®. Este es el servidor dedicado para monitorizar de forma remota sistemas MS Windows® mediante el protocolo WMI.
Antes denominado Recon server, el Discovery server es empleado para explorar regularmente la red y detectar nuevos sistemas en funcionamiento y aplicar una plantilla de monitorización y comenzar a monitorizar inmediatamente. Utilizando las aplicaciones GNU de sistema nmap, xprobe y traceroute es capaz de detectar los Sistemas Operativos y establecer una topología de red.
El Discovery server se emplea también para lanzar tareas programadas y lanzar monitorización específica contra entornos virtuales, bases de datos o todas aquellas aplicaciones o entornos que requieren explorar lo que existe antes de monitorizar.
Ejecuta chequeos complejos de forma remota mediante scripts personalizados, gestionándose de forma centralizada. Esto permite a un usuario avanzado definir sus propias pruebas complejas e integrarlas en la aplicación para que se puedan usar de forma cómoda y centralizada desde Pandora FMS.
Un componente de Inteligencia Artificial que implementa una previsión de datos de forma estadística en base a datos pasados con una antigüedad de hasta 30 días, permitiendo predecir valores de un dato con un intervalo de 10 a 15 minutos, y conocer si un dato en el momento actual es anómalo respecto a su historial. Básicamente construye una línea de base dinámica con un perfil semanal.
Realiza comprobaciones web completas, como el proceso de identificación de un usuario, paso de parámetros por formulario, comprobación de contenidos, navegación por menús, etc. Se utiliza para chequeos de disponibilidad verdadero/falso y para obtener tiempos de latencia de experiencia completa de navegación.
Permite exportar los datos de un dispositivo monitorizado de una instalación de Pandora FMS a otra, y así tener replicados los datos. Especialmente útil en grandes despliegues con varias instalaciones de Pandora FMS y con necesidad de centralizar.
Obtiene y visualiza información de inventario de los sistemas: Software instalado, modelo de elementos hardware, dispositivos de almacenamiento, servicios en ejecución, etcétera. Puede obtener esta información tanto de forma remota como de forma local.
Este servidor especial sirve para correlacionar eventos y generar alertas y no ejecuta tareas de monitorización. Este servidor, al contrario que el resto, no dispone de configuración de hilos ni de alta disponibilidad.
Utilizan estrategias avanzadas para ejecutar chequeos ICMP (ping) trabajando con los OID (Object IDentifier) previamente validadas, por lo que tiene un rendimiento elevado.
Se instala de forma separada al servidor principal de Pandora FMS y permite el reenvío de ficheros de datos desde los Agentes Software hacia el servidor principal, actuando a modo de proxy de agentes en topologías distribuidas. Envía los datos de monitorización como ficheros XML a través de una conexión Tentacle, por lo que no requiere conexión con la base de datos.
Combinado con el Grid de Selenium permite realizar transacciones web complejas de forma distribuida. Estas transacciones se ejecutan en un navegador real, su salida se captura y procesa para visualizarla paso a paso, incluyendo capturas de los errores y estadísticas detalladas.
Permite analizar el syslog de la máquina donde está ubicado, analizando su contenido y almacenando las referencias en el servidor OpenSearch correspondiente.
Permite correlacionar logs y ejecutar sus alertas.
Si se activa se encargará de la ejecución de todas las alertas de monitorización, ya que por defecto cada servidor se encarga de sus propias alertas y en algunos casos concretos se pueden producir retrasos en la monitorización si una alerta debe ejecutar alguna tarea y esta tarda más de lo debido en realizarse.
Es la interfaz de usuario de Pandora FMS. Esta Consola de administración y operación permite a diferentes usuarios, con diferentes privilegios, controlar el estado de los Agentes, ver información estadística, generar gráficas y tablas de datos, así como gestionar incidencias con su sistema integrado. También es capaz de generar informes y definir de forma centralizada nuevos Módulos, Agentes, alertas y crear otros usuarios y perfiles.
Puede ejecutarse en múltiples servidores para repartir carga como para facilitar el acceso por problemas logísticos (grandes redes, numerosos grupos de usuarios diferentes, diferencias geográficas, diferencias administrativas, etcétera).
Pandora FMS utiliza una base de datos MySQL en la que almacena toda la información recibida en tiempo real, normalizando todos los datos de las diversas fuentes origen. Actualmente Pandora FMS solamente soporta MySQL, MariaDB y Percona.
Es importante diferenciar dos conceptos: Agente, o Agente en Consola, como contenedor y Agente Software, el cual se ejecuta en un equipo.
El Agente de Pandora FMS es un elemento organizativo creado en la Consola web de Pandora FMS, asociado a un grupo de Módulos (o elementos individuales de monitorización). Este agente puede tener (opcionalmente) asociadas una o más direcciones IP.
Un Agente puede contener Módulos de tipo remoto o de tipo local. Los Módulos de tipo remoto son ejecutados por aquellos servidores que obtienen información de forma remota (ej. Network server); los módulos de tipo local son ejecutados por los Agentes Software y recolectados y procesados por el Data Server.
Los Agentes Software se instalan en los equipos a monitorizar de manera local, extrayendo la información desde el propio equipo. Se utilizan principalmente en servidores para monitorización de recursos de la máquina (CPU, RAM, discos…) y aplicaciones instaladas (MySQL, Apache, JBoss…). Generalmente, la monitorización de servidores y equipos se llevará a cabo con Agentes Software mientras que la monitorización de equipos de red se hará de forma remota sin la instalación de ningún software.
Toda la información de los chequeos realizados se plasma en un único fichero de datos en formato XML, que es enviado a través del protocolo Tentacle al servidor de Pandora FMS en un intervalo predeterminado de 300 segundos. También es posible transmitir los paquetes usando SSH o FTP.