Pandora: Actualizacion Pandora

From Pandora FMS Wiki
Jump to: navigation, search

1 Guía rápida de actualización ISO Pandora FMS de versión 6.0 a 7.0

1.1 Introducción

Debemos conocer que Pandora FMS se compone de tres partes.

- Pandora FMS Console

- Pandora FMS Server

- Base de datos

En el caso de que se trate de la actualización de una versión menor, que no conlleve a la actualización de la base de datos, por ejemplo de 6.1 SP2 a 6.1 SP3, no debemos realizar ninguna actuación sobre la base de datos, por lo que tanto sólo habría que actualizar los paquetes de la Consola y el Servidor


1.2 Pre-actualización

Antes de realizar la actualización de todos los componentes, es necesario realizar el backup de todos los elementos importantes, en este caso, la base de datos, el fichero de configuración del servidor y la consola. En este ejemplo vamos a guardar todos los elementos en el directorio /home/artica/Backup

[[email protected] ~]# rpm -qa | grep pandora
pandorafms_console_enterprise-6.1SP5-1.noarch
pandorafms_server-6.1SP5-1.noarch
pandorafms_console-6.1SP5-1.noarch
[[email protected] ~]# mkdir /home/artica/Backup
[[email protected] ~]# mysqldump -uroot -ppandora pandora > /home/artica/Backup/backup6.sql
[[email protected] ~]# cp -R /var/www/html/pandora_console/ /home/artica/Backup/
[[email protected] ~]# cp /etc/pandora/pandora_server.conf /home/artica/Backup/

Una vez realizado el backup paramos el servidor de Pandora y el servidor de tentacle:

[[email protected] ~]# /etc/init.d/pandora_server stop
[[email protected] ~]# /etc/init.d/tentacle_serverd stop

1.3 Actualización de la Consola

Template warning.png

Para los usuarios Enterprise, antes de proceder a realizar la actualización, por favor soliciten una nueva licencia de la versión 7 al departamento comercial de Ártica.

 


Para la actualización de la Consola debemos de actualizar los paquetes rpm que ya tenemos instalados. Para ello usamos el siguiente comando:

[[email protected] tmp]# rpm -U --force pandorafms_console-7.0NG-1.noarch.rpm pandorafms_console_enterprise-7.0NG-1.noarch.rpm 

En el caso de que se trate de la versión Open, únicamente debemos actualizar el paquete pandorafms_console-7.0NG-1.noarch.rpm que se podrá descargar de Sourceforge.

Para los usuarios Enterprise, la descarga del paquete Enterprise se realizará desde la web de Soporte de Artica.

1.4 Actualización de la base de datos

En el caso de que se trate de una versión mayor como ocurre al actualizar desde la versión 6.0 a la 7.0, debemos actualizar también el esquema de la base de datos. Los scripts de migración se añadirán al instalar la nueva versión de la Consola.

El script necesita que el parámetro de configuración thread_stack sea de 256K. Habrá que setearlo en el fichero de configuración (my.cnf).

thread_stack = 256k

Realizado el cambio, deberemos ejecutar el siguiente comando.

[[email protected] tmp]# cat /var/www/html/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql | mysql -uroot -ppandora -D pandora

Tras ejecutar este script de migración, ya tenemos la base de datos actualizada de una versión a otra y preparada para funcionar correctamente en la versión 7.0

1.5 Actualización del Servidor

Una vez que tenemos actualizada la consola y la base de datos, el último paso a realizar es la actualización del servidor.

En la versión Open la actualización se realizará como las anteriores versiones, descargamos el paquete correspondiente de Sourceforge y lo actualizamos con esta ejecución:

[[email protected] tmp]# rpm -U --force pandorafms_server-7.0NG-1.noarch.rpm

Para la versión Enterprise, en la versión 7.0 el paquete Enterprise se instala como binario.

Actualizamos el paquete Open (Sourceforge) e instalamos el Enterprise (Artica):

[[email protected] tmp]# rpm -U --force pandorafms_server-7.0NG-1.noarch.rpm
An existing version of pandora_server.conf is found.
Don't forget to start Tentacle Server daemon if you want to receive
data using tentacle
[[email protected] tmp]# tar -xvzf pandorafms_server_enterprise_7.0NG_x86_64.tar.gz
pandora_server/pandora_server
pandora_server/pandora_server_installer
pandora_server/PandoraFMS-Enterprise/bin/braa
pandora_server/PandoraFMS-Enterprise/bin/pandora_db
pandora_server/PandoraFMS-Enterprise/bin/braa
pandora_server/PandoraFMS-Enterprise/bin/pandora_manage
pandora_server/README
[[email protected] tmp]# cd pandora_server/
[[email protected] pandora_server]# ./pandora_server_installer --install
Pandora FMS Server Enterprise installer for GENERIC. (c) 2014-2016 Artica ST.


>Installing the Pandora FMS Server Enterprise binary to /usr/bin...
>Installing the pandora_exec binary to /usr/bin...
>Copying missing perl libraries to the /usr/lib/perl5/PandoraFMS...
>Copying missing scripts to /usr/share/pandora_server/util...
>Installing the tentacle_server binary to /usr/bin...
>Copying extra encoding definitions to /usr/share/pandora_server/enc...
>Installing the pandora_db binary to /usr/bin...
>Installing the pandora_manage binary to /usr/bin...
>Installing the pandora_revent binary to /usr/bin...
>Installing the pandora_encrypt_db binary to /usr/bin...
>Installing the braa binary to /usr/bin...
>Installing the enterprise recon scripts...
>Executing Pandora Server Open installation script...
>...

Pandora FMS Server Installer 7.0NG 170324 (c) 2008-2016 Artica ST
This program is licensed under GPL2 Terms. http://pandorafms.com  

GENERIC distribution detected
Creating common Pandora FMS directories
uid=500(pandora) gid=0(root) grupos=0(root) 

User pandora does exist, make sure the SSH directories are correct
Giving proper permission to /var/spool/pandora
Creating setup directory in /etc/pandora
cp conf/pandora_server.conf.new /etc/pandora
Installing Pandora Server manual
Copying the daemon script into /etc/init.d
Linking startup script to /etc/rc.d/rc5.d/S90pandora_server
ln: creating symbolic link «/etc/rc.d/rc5.d/S90pandora_server»: El fichero ya existe
Creating logrotate.d entry for Pandora FMS log management
Copying the daemon script into /etc/init.d
Linking startup script to /etc/rc.d/rc5.d/S80tentacle_serverd
Installing Tentacle Server manual
Creating Pandora FMS distribution directory in /usr/share/pandora_server
Creating the Cron script to run Pandora DB tool each hour

Now you have to edit your /etc/pandora/pandora_server.conf file to change the database password (default is   pandora) with the one set in include/config.php of your Pandora FMS Console.
After setting password you can start your Pandora FMS Server!!

>...
>Installed Open Pandora Server
>Adding pandora_db to the crontab...

Restart Pandora FMS Server.

Los paquetes instalados al final de la actualización en el sistema serán estos:

[[email protected] pandora_server]# rpm -qa | grep pandora
pandorafms_console-7.0NG-1.noarch
pandorafms_console_enterprise-7.0NG-1.noarch
pandorafms_server-7.0NG-1.noarch

En este punto, los usuarios Enterprise deberán acceder a la consola e introducir la nueva licencia facilitada por el departamento comercial de Ártica ST.

Ya podemos reiniciar los procesos parados.

[[email protected] ~]# /etc/init.d/pandora_server start

Pandora FMS Server 7.0NG Build 170324 Copyright (c) 2004-2015 ArticaST
This program is OpenSource, licensed under the terms of GPL License version 2.
You can download latest versions and documentation at http://www.pandorafms.org

[*] Backgrounding Pandora FMS Server process.

Pandora Server is now running with PID 8407

[[email protected] ~]# /etc/init.d/tentacle_serverd start


Template warning.png

En el caso de tener el socket de mysql en otro punto de instalación al de por defecto, hay que modificar en /etc/pandora/pandora_server.conf del servidor el parámetro dbhost con la ip 127.0.0.1 en vez de localhost.

 


2 Guía rápida de migración de funcionalidades en Pandora FMS de versión 6.0 a 7.0

Vamos a comentar algunas de las funcionalidades más importantes que han cambiado en la versión 7.0 NG, así como las acciones que tendremos que realizar.

2.1 Mapas de Red

En la versión Pandora FMS 7.0 NG se han eliminado los mapas de red de siempre y se ha mejorado la Consola de Red. Por lo tanto en la migración se perderán todos los mapas de red creados y en su lugar deberemos crear Consolas de Red. En esta nueva versión podemos asociar directamente desde la Consola de Red la unión entre las diferentes interfaces monitorizadas de los dispositivos y de esta forma poder tener todas las posibilidades de configuración directamente sobre el mapa y no cambiándolas dentro de la configuración de los módulos.


Mig1.JPG



Mig2.JPG


Estas uniones se deberían configurar a través del propio recon de la red, pero en el caso de que no se haya ejecutado el mismo y queramos realizar las conexiones a mano, podremos configurarlas de esta forma.


Mig3.JPG


2.2 Tareas de Reconocimiento L2

A la tarea de Recon estándar ( Network sweep ) se ha añadido la opción que hasta ahora venía realizando el Script personalizado SNMP L2 Recon. Este script seguirá funcionando en la versión 7.0NG tras migrar de versión, aunque los cambios embebidos dentro del modo Network Sweep para mejorar el enlazado entre interfaces de los diferentes dispositivos de red no están incorporados dentro del script SNMP L2 Recon.


Mig4.JPG


2.3 Renombrado de agentes

Una de las features más solicitadas por parte de los clientes ha sido la de la posibilidad de poder renombrar agentes software instalado. En versiones anteriores este cambio se tenia que realizar en consola y en el fichero de configuración, suponiendo un gran trabajo si el número de elementos a modificar era alto.

Para solventar este problema hemos desarrollado un nuevo elemento denominado Alias. A partir de ahora van a coexistir dos elementos en el nombrado de un agente, el nombre y el alias.


Mig5.JPG


En instalaciones migradas de la versión 6 a la 7, este elemento va a ser el mismo:


Mig6.JPG


A partir de ahora si queremos modificar el nombre visible del agente nos bastará con modificar el Alias del mismo para verlo representado con ese nombre en todas las vistas:


Mig7.JPG



Mig8.JPG


El cálculo del nombre del Agente, de los agentes de la versión 7.0NG creados a partir de ahora, se hace a través de un conjunto de sentencias aleatorias. De esta forma en el caso de tener 2 máquinas con el mismo hostname, tendremos en la consola de Pandora FMS estos dos agentes con diferentes nombre de Agente y el mismo Alias.

En el caso de que no queramos que se de esta situación ( Por ejemplo en el entorno de Pandora disponemos del Plugin de vmware + de agente software instalado en las VMs y deseamos tener la información de ambas fuentes en el mismo agente lógico ) podemos indicarle al agente que se comporte como en versiones anteriores y nos cree un agente con el mismo Alias y Nombre del agente. Para ello debemos comentar los siguientes parámetros en el fichero de configuración del agente software:

#agent_name 5fa9bdc9ad26a4d0e87d0f0d15ed786c3bd487441b2d5e8d7c42b90e8389797d
#agent_name_cmd __rand__

De esta forma el agente se creará con el nombre como ha sucedido siempre, con la información que reciba de ambas fuentes. Eso sí, podremos cambiar el alias simplemente desde la consola cuando lo necesitemos y la información seguirá apareciendo igual.

En el caso de que actualicemos el agente o los servidores satélites de versión debemos conservar los ficheros de configuración que se estén usando, ya que en el caso de borrarlos se creará un nuevo agente con el nombre aleatorio y perderemos la información de histórico almacenada, salvo que comentemos en el mismo configuración los dos parámetros anteriores.

2.4 Nuevos agentes de Pandora FMS

Se ha cambiado y unificado la información que van a reportar por defecto a partir de ahora los agentes de Pandora FMS en la versión 7.0NG.

Estos van a ser los modulos que reportarán:

Agente Linux

Mig9.JPG


Agente Windows

Mig10.JPG


Siempre y cuando no se trate de un agente nuevo, tras la migración los agentes seguirán teniendo la misma configuración en sus módulos y no se añadirán automáticamente los módulos incluidos con el agente de la versión 7.

Esta es la configuración a añadir en cada uno de los casos:

Agente Linux

# Could change depending on linux distro and vmstat command version
module_begin
module_name CPU Load
module_type generic_data
module_interval 1
module_exec vmstat 1 2 | tail -1 | awk '{ print $13 }'
module_max 100
module_min 0
module_description User CPU Usage (%)
module_min_warning 70
module_max_warning 90
module_min_critical 91
module_max_critical 100
module_unit %
module_group System
module_end

# Could change depending on linux distro and vmstat command version
module_begin
module_name CPU IOWait
module_type generic_data
module_interval 1
module_exec vmstat 1 2 | tail -1 | awk '{ print $16 }'
module_min_warning 10
module_min_critical 16
module_unit %
module_description Too much IOwait means IO bottleneck and performance problems. Check also LoadAVG.
module_group System
module_end

# Get load average
module_begin
module_name Load Average
module_type generic_data
module_exec cat /proc/loadavg | cut -d -f1
module_description Average process in CPU (Last minute)
module_group System
module_end

# Basic info about TCP Connection
module_begin
module_name TCP_Connections
module_type generic_data
module_exec netstat -an | grep tcp | grep -v LIST | wc -l
module_description Total number of TCP connections active
module_group Networking
module_end

# This plugin detects all disk and report used space (%)
module_plugin pandora_df_used
# This plugin detects system free memory and used swap (in %)
module_plugin pandora_mem_used
# This plugin will get the network usage (bytes/sec)
module_plugin pandora_netusage

Agente Windows

# CPU Load using WMI 
module_begin
module_name CPU Load
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Processor
module_wmicolumn LoadPercentage
module_max 100
module_min 0
module_description User CPU Usage (%)
module_min_warning 70
module_max_warning 90
module_min_critical 91
module_max_critical 100
module_unit %
module_group System
module_end

# Basic info about TCP Connection
module_begin
module_name TCP_Connections
module_type generic_data 
module_exec netstat -an | find /c /v "estab"
module_description Total number of TCP connections active
module_group Networking
module_end

# Example plugin to retrieve drive usage
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\df_percent_used.vbs"

# Example plugin to retrieve memory usage
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\mem_percent_used.vbs"

# Example plugin to retrieve network usage
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\network.vbs"

2.5 Update Manager / Rolling Release

Esta nueva versión de Pandora FMS, nos proporcionará la capacidad de poder realizar cambios en la base de datos de Pandora FMS dentro de los paquetes OUM que se irán distribuyendo. Para ello entraremos a la sección Update Manager Online o Offline dependiendo si disponemos de conexión o no.

2.5.1 Update Manager Online

Accedemos a esta sección a través de Update Manager > Update Manager Online.


Mig11.JPG


Si disponemos de una nueva versión a instalar nos aparecerá un mensaje como este:


Mig12.JPG


Pinchamos sobre la opción de “Update to the last version”:


Mig13.JPG


Al aceptar la actualización se descargará el siguiente paquete y se aplicará. Si este paquete además dispone de cambios en la base de datos aparecerá el siguiente mensaje antes de aplicar los cambios para que se pueda realizar con anterioridad un backup de la base de datos y asegurarnos de que en el caso de que en el proceso de aplicación de los nuevos scripts produzca algún error, podamos recuperar el estado anterior de la base de datos.


Mig14.JPG


Al aplicar el MR se efectuarán los cambios en la base de datos y una vez finalizado el proceso deberá aparecer la versión aplicada y actualizada:


Mig15.JPG


2.5.2 Update Manager Offline

Accedemos a esta sección a través de Update Manager > Update Manager Online.


Mig16.JPG


Subimos el paquete en la opción que nos aparece:


Mig17.JPG


Una vez aplicado el paquete nos aparecerá el mensaje de que se ha aplicado el paquete correctamente:


Mig18.JPG


Si este paquete conlleva cambios en la base de datos, se aplicarán y nos aparecerá el siguiente mensaje tras su aplicación:


Mig19.JPG


Para conocer en que versión nos encontramos se ha añadido al footer de la consola un nuevo campo que nos indica en que MR o versión de la base de datos nos encontramos, y con ello no vamos a tener dudas de saber si se han aplicado los cambios a la base de datos o no:


Mig20.JPG


2.6 Nuevas plantillas de alerta

Se han añadido dentro de las template de alertas estas nuevas plantillas:


Mig21.JPG


Vienen dentro de las nuevas instalaciones que se realicen en el Pandora FMS 7.0NG, pero no se aplicarán tras migraciones de versiones anteriores por respetar todas las configuraciones que se hayan realizado.

2.7 Nomenclatura de monitorización de interfaces

Se ha modificado la nomenclatura con la que actualmente se creaban todos los módulos de monitorización de interfaces de red para que se puedan ordenar fácilmente la información de los mismos a partir del nombre de su interfaz.

En versiones anteriores estaba utilizando esta nomenclatura:


Mig22.JPG


En la nueva versión se utiliza este formato:


Mig23.JPG


Para aprovechar todas las features de las que dispone Pandora FMS 7.0 NG sobre los mapas Enterprise, gráficas de interfaces etc. es necesario modificar mediante las siguientes querys SQL los nombres de los módulos:

UPDATE tagente_modulo SET nombre = CONCAT(REPLACE(nombre, 'ifOperStatus_', ), '_ifOperStatus') WHERE nombre LIKE('ifOperStatus_%');
UPDATE tagente_modulo SET nombre = CONCAT(REPLACE(nombre, 'ifInOctets_', ), '_ifInOctets') WHERE nombre LIKE('ifInOctets_%'); 
UPDATE tagente_modulo SET nombre = CONCAT(REPLACE(nombre, 'ifOutOctets_', ), '_ifOutOctets') WHERE nombre LIKE('ifOutOctets_%');

Para configurar aparte los módulos en el satélite server que necesita modificar los módulos manualmente dentro del fichero de configuración, se deberán renombrar los módulos en los ficheros de configuración del satélite (IMPORTANTE: si la configuración remota está activada, habrá que actualizarlos en el servidor y modificar los .md5, o bien borrarlos del servidor, renombrarlos en el satélite y dejar que vuelva a enviarlos).

Ejecutar desde el servidor en el caso de tener la configuración remota desactivada:

sed -i -e 's/ifOperStatus_\(.*\)/\1_ifOperStatus/' /etc/pandora/conf/*.conf 
sed -i -e 's/ifInOctets_\(.*\)/\1_ifInOctets/' /etc/pandora/conf/*.conf 
sed -i -e 's/ifOutOctets_\(.*\)/\1_ifOutOctets/' /etc/pandora/conf/*.conf
sed -i -e 's/ifOperStatus_\(.*\)/\1_ifOperStatus/' /var/spool/pandora/data_in/conf/*.conf 
sed -i -e 's/ifInOctets_\(.*\)/\1_ifInOctets/' /var/spool/pandora/data_in/conf/*.conf 
sed -i -e 's/ifOutOctets_\(.*\)/\1_ifOutOctets/' /var/spool/pandora/data_in/conf/*.conf

Después una vez aplicados estos cambios necesitaremos que se apliquen dentro de los conf del satélite server, para ello hay que modificar el fichero .md5 de cada agente. Nos bastará con poner un valor aleatorio a cada uno de ellos.

echo 1 >/var/spool/pandora/data_in/md5/*.md5