Gestión de los servidores Pandora FMS
Arranque y parada manual de los servidores de Pandora FMS
Tenga en cuenta que si por cuestiones de mantenimiento quiere detener manualmente el servidor de Pandora FMS debe verificar si está en ejecución un Watchdog de servicios. Consulte esta sección para más detalles.
Para arrancar y/o detener de forma manual solamente el servidor de Pandora FMS se ha de ejecutar lo siguiente en una consola shell:
- Detener el daemon:
/etc/init.d/pandora_server stop-server
- Iniciar el daemon:
/etc/init.d/pandora_server start-server
- Reiniciar el daemon:
/etc/init.d/pandora_server restart-server
Puede controlar el estado de pandora_ha a través de systemd con:
systemctl status pandora_ha.service
Gestión de la base de datos
Existe una herramienta esencial para el buen funcionamiento de Pandora FMS que se encarga de realizar tareas de mantenimiento. Su ubicación es:
/usr/bin/pandora_db
Esta herramienta, en adelante pandora_db, está incluida en el paquete del servidor de Pandora FMS, por lo que debe ejecutarse desde un sistema donde haya un servidor de Pandora FMS instalado.
La herramienta pandora_db es crucial para el correcto funcionamiento de Pandora FMS, y por ello su ejecución se programa en las tareas cron del sistema con una periodicidad horaria. Su ejecución está configurada dentro del fichero:
/etc/cron.hourly/pandora_db
Esta herramienta realiza todas las tareas de mantenimiento de la base de datos de forma automática:
- Elimina datos antiguos.
- Compacta datos existentes.
- Verifica la consistencia de la base de datos para módulos no existentes o no inicializados.
- Elimina la información diaria de contacto del agente.
- Mueve todos los datos antiguos a la base de datos auxiliar de histórico.
La ejecución de pandora_db se configura en las tareas cron del sistema, para ello el fichero /etc/cron.hourly/pandora_db
debe existir y contener lo siguiente:
"/usr/bin/pandora_db" "/etc/pandora/pandora_server.conf">/dev/null 2>&1
- También es importante revisar los permisos y propietario del fichero. Los permisos adecuados del fichero serían
755
, si son diferentes debe ejecutar:
chmod 755 /etc/cron.hourly/pandora_db
- En cuanto al propietario, debe ser usuario raíz o root tanto para el usuario como para el grupo, si son diferentes debe ejecutar:
chown root:root /etc/cron.hourly/pandora_db
Ejecución manual de la herramienta de mantenimiento
Si se considera necesario, es posible lanzar la ejecución de pandora_db. Ejecute desde una consola o shell lo siguiente:
/usr/bin/pandora_db /etc/pandora/pandora_server.conf
En sistemas sobrecargados esto puede mucho tiempo, por lo que se recomienda dejar el proceso en segundo plano.
Para ejecutar manualmente la herramienta de mantenimiento y dejarla en segundo plano ejecute lo siguiente:
nohup /usr/bin/pandora_db /etc/pandora/pandora_server.conf
El proceso llevará algún tiempo hasta que se cargue completamente en segundo plano, después podrá cerrar la ventana de la consola o shell y el proceso se seguirá ejecutando.
Es importante que se asegure de utilizar la versión actual de la herramienta: Si ejecuta el programa sin parámetros, se mostrará la versión de la herramienta en la cabecera del mensaje, y debe coincidir con la versión instalada del servidor.
Respaldo de la base de datos
Es importante recordar que esto solamente realiza un respaldo y/o restauración de la de base de datos, sin incluir otros ficheros, ni tampoco la configuración del servidor.
Mediante el comando mysqldump puede realizar un respaldo (backup) de la base de datos. Esto se hace realizando un volcado completo de la base de datos, tanto de la estructura de las tablas como de los contenidos de las mismas. Este comando tiene varias opciones para la realización de backups, y su uso básico es suficiente para realizar un volcado desde el mismo sistema en el que se aloja la base de datos.
Por ejemplo, para realizar un backup de la base de datos pandora
(usuario root
y contraseña pandora
), y volcar el resultado a un fichero:
mysqldump -u root -p pandora> /backup/pandoradb_backup.sql
A partir de un backup realizado de esta forma, puede hacer una restauración completa de la base de datos. Inicie una sesión en MySQL, proceda a crear la base de datos que se restaurará y luego cargue el backup en esa base de datos. Siguiendo con el ejemplo anterior (sustituya mypassword
por su contraseña):
mysql -u root -p
CREATE DATABASE pandora; USE pandora; SOURCE /backup/pandoradb_backup.sql; GRANT ALL privileges ON pandora.* TO pandora@localhost IDENTIFIED BY 'mypassword'; exit;
Por último, es necesario restablecer los permisos de usuario configurados tanto en la Consola de Pandora FMS como en el servidor para que tengan acceso completo a la base de datos (sustituya mypassword
por su contraseña):
GRANT ALL privileges ON pandora.* TO pandora@localhost IDENTIFIED BY 'mypassword';
Respaldo y recuperación completa de Pandora FMS
Existe un script en la distribución del servidor de Pandora FMS que sirve para hacer un backup y una restauración completa de todo Pandora FMS. Este script esta pensado para hacer copias y restauración en sistemas donde el servidor y la consola se ubican en la misma máquina.
Está diseñado para hacer copias de seguridad y restauración de los siguientes componentes:
- Fichero(s) de configuración del servidor.
- Ficheros(s) pendientes de ejecución, así como ficheros de configuración remotos de los agentes.
- Base de datos, completa.
- Consola Web, completa.
Si en el entorno hay diferentes componentes, deberá utilizar la herramienta con los parámetros más adecuados para su uso o modificarlos para que se adapten a las circunstancias.
Este script necesita ejecutarse como root. Usted es el único responsable de dicha clave. Está ubicado en:
/usr/share/pandora_server/util/pandora_backup.sh
Al ejecutarlo sin parámetro alguno se mostrará el menú de ayuda.
Watchdog para los servidores de Pandora FMS
En el repositorio de código existe un pequeño script que que realiza una monitorización del propio estado de Pandora FMS.
De esta forma, en caso de caída o fallo del servidor se realizará una operación automática de recuperación (intentar iniciar Pandora FMS). Si esta acción a su vez falla también, puede avisarse del suceso. Esta herramienta se encuentra en:
/usr/share/pandora_server/util/pandora_watchdog.sh
Script para generación de alertas
El script pandora_watchdog.sh
busca un archivo en /usr/bin/pandora_alert
con las instrucciones para generar la alerta. En este fichero se define el código que se ejecutará cuando el proceso Watchdog no pueda levantar o ejecutar el servidor Pandora FMS. En este ejemplo, además de avisar mediante un SMS, detiene el servidor Tentacle:
#!/bin/bash sendsms +34458474843 "The Pandora FMS has suffered some issue and it cannot be started." /etc/init.d/tentacle_serverd stop
Es necesario conceder permisos de ejecución sobre este script:
chmod 750 /usr/bin/pandora_alert
Arranque del Watchdog
Para lanzar el Watchdog y dejarlo funcionando en segundo plano, ejecute lo siguiente:
nohup /usr/share/pandora_server/util/pandora_watchdog.sh &
A la hora de iniciar un Watchdog, tenga en cuenta que si por cuestiones de mantenimiento quiere detener manualmente el servidor de Pandora FMS, tendrá que detener también previamente el proceso del Watchdog para evitar que de forma automática intente iniciar el servicio continuamente.
Base de datos de histórico
Una base de datos de histórico es una base de datos a la que se mueven datos antiguos de módulos para mejorar la respuesta de la base de datos principal de Pandora FMS, dejando esos datos accesibles para la consola de forma transparente al ver informes, gráficas de módulos, etcétera.
Configurando una base de datos de histórico
Para configurar una base de datos de histórico solamente será necesario contar con un nuevo servidor para alojarla (distinto al de la base de datos principal). Una vez tenga ese servidor con MySQL instalado, siga estos pasos:
En el menú escoja Management → Setup → Setup → Historical database y pulse el botón Enable historical database para acceder a la configuración de conexión (Configure connection target):
Rellene los campos anteriores:
- Host: Nombre del anfitrión (enlace web o dirección IP) de la base de datos histórica.
- Port: Puerto de conexión de la base de datos histórica. Valor estándar:
3306
. - Database name: Nombre de la base de datos histórica. Valor por defecto:
pandora
. - Database user: Usuario de la base de datos histórica. Valor por defecto:
pandora
. - Database password: Contraseña de la base de datos histórica. Esto permitirá conectar a la base de datos histórica.
En los campos de este formulario llamados Data days old to keep in active database, Transference block size (Step) y Delay between transferences (seconds) definirán la forma en que se enviarán los datos a la base de datos de histórico, es decir, los datos con más de n días (Data days) de antigüedad se moverán a la base de datos de histórico en bloques de n filas (Step) esperando n segundos (Delay) entre un bloque y el siguiente para evitar sobrecargas. En esta misma pantalla también se puede decidir si enviar a la base de datos de histórico los eventos con más de n días de antigüedad (Events days old to keep in active database), aunque hay que tener en cuenta que incluir los eventos aumentará considerablemente el ritmo de crecimiento de la base de datos de histórico, y que éstos solo se consultarán a la hora de generar informes, no en la vista de eventos.
La base de datos de histórico utiliza el binario /usr/bin/pandora_db
para transferir los datos. Además, debe configurar las opciones para el mantenimiento de la base de datos de histórico.