Monitorización con Pandora FMS en Debian Jessie

Buenos días | tardes | noches, volvemos esta vez con el software de monitorización Pandora FMS. En esta entrada os mostraré usos básicos usados en la monitorización de nuestra red y sistemas.

¿Qué es Pandora FMS?

PandoraFMS es un software de monitorización con licencia GPL2 y que posee dos versiones, gratuita y enterprise, intuitivo y fácil de aprender. PandoraFMS posee una buena comunidad de usuarios (no tan grande cómo la de Nagios, pero igual de buena), potente en sus dos versiones y con muchas variantes de configuración a la hora de monitorizar cualquier dispositivo.

Instalación de Pandora FMS

Antes de proceder a la instalación de Pandora FMS, necesitaremos tener instalado un servidor MySQL, ya que una vez hayamos instalado los paquetes de Pandora FMS, deberemos configurarlo con una base de datos de MySQL.

Actualizamos los repositorios:

apt update && apt upgrade -y

Instalamos MySQL server:

apt install mysql-server

Durante su instalación nos pedirá configurar la contraseña para el usuario Root.

Antes de proceder a instalar los paquetes de PandoraFMS, necesitaremos instalar el paquete apt-transport-https para poder usar los repositorios seguros y privados de PandoraFMS:

apt install apt-transport-https

Ahora si, procedemos a realizar la instalación de Pandora FMS. Configuramos los repositorios de dónde instalaremos el paquete:

nano /etc/apt/sources.list

Añadimos las siguientes lineas (utilizando los repositorios privados de Artica):

# Pandora FMS
deb https://firefly.artica.es/debian/jessie /

Guardamos y actualizamos de nuevo los repositorios:

apt update

Procedemos a la instalación de los paquetes:

apt install pandorafms-console pandorafms-server

Durante la instalación nos aparecerá el siguiente mensaje:

ATENCIÓN: ¡No se han podido autenticar los siguientes paquetes!
 pandorafms-console pandorafms-server
¿Instalar estos paquetes sin verificación? [s/N]

Decidimos seguir con la instalación indicando que SI queremos instalar los paquetes.

Abrimos un navegador y accedemos a la instalación via web de PandoraFMS a través de la URL http://localhost/pandora_console/install.php
p1

Pulsamos sobre Next y nos aparecerá la licencia sobre GPL2, la aceptamos y llegaremos a las dependencias, en mi caso está todo correcto (luz verde).
p2

Llegamos a la configuración de la base de datos que utilizará pandora, modificamos los campos y establecemos los nuestros;p3

Procederá a crear lo que requiera, pulsamos sobre Next y habrá acabado la instalación y la cual, cómo último paso, nos pedirá renombrar el fichero install.php, aceptamos.

Por defecto y cómo nos indica dicha última ventana, el usuario y contraseña por defecto, después de realizar la instalación, es admin/pandora. La cambiamos en cuanto sea posible.

La primera vez que accedemos a la consola web, nos pedirá la configuración del sitio. Establecemos el idioma y la zona horaria. En mi caso Español y la zona horaria de Madrid. (No hace falta definir ningún Email, ya que al definir el idioma, deberemos de recargar la página y después nos preguntará si queremos continuar sin establecer un registro).

Pues ya hemos acabado de instalar PandoraFMS y realizar las configuraciones necesarias para su completo uso.p4

Para cambiar la contraseña del usuario admin, pulsamos sobre su nombre (panel superior) y establecemos la nueva contraseña. Una vez hecho, actualizamos la información.

Os dejo el enlace de instalación por si quereis instalarlo en otros sistemas:
https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Instalacion

Activando PandoraFMS-server

Tenemos que arrancar el servidor de PandoraFMS y para ello deberemos configurar el fichero /etc/pandora/pandorafms-server.conf modificando las siguientes lineas (a partir de la linea 52 del fichero):

# dbname: Database name (pandora by default)
dbname pandorafms
# dbuser: Database user name (pandora by default)
dbuser root
# dbpass: Database password
dbpass root

Procedemos a iniciar el servidor de PandoraFMS con:

/etc/init.d/pandorafms-server start

Si se ha iniciado correctamente, nos aparecerá que se le ha asignado un PID (identificador de procesos):

Pandora Server is now running with PID 20984

Si actualizamos la consola web se habrán creado los servidores y se habrá añadido un nuevo agente, en mi caso el nombre de la máquina/servidor definido en el fichero anterior.p5

Añadiendo agentes

Os preguntaréis ¿qué es un agente?, un agente en PandoraFMS es todo aquel dispositivo que posea una IP (dentro del rango del servidor que tiene instalado PandoraFMS).

Por lo cual, podremos monitorizar hasta los frigoríficos de casa/empresa (por aquello del internet de las cosas)

Tenemos dos formas de añadir agentes:

  1. Método manual
  2. Rastreamiento de red

Método manual

Podemos añadir agentes manualmente mediante la consola web yendo al Recursos (Resources, panel del lateral izquierdo) > Gestionar Agentes.

En la lista que aparece, si acabamos de instalar PandoraFMS y arrancar su servidor, nos aparecerá sólo nuestra máquina.p6

Procedemos a crear el agente pulsando sobre Crear agente. En mi caso añadiré el router de casa con las siguiente configuración del agente:p7

Pulsamos sobre crear y la consola web nos informará de la creación exitosa por medio de un check verde en la parte superior del cuadro de Administrador de agente.

Para ver, en modo gráfico, nuestra red con los agentes añadidos, nos vamos al menú del panel lateral izquierdo > Consola de red (networkconsole) > Mapa de red.

Pulsamos sobre el botón Crear mapa de red y definimos su configuración.p8

Ahora pulsamos sobre el nombre del mapa de red que acabamos de crear y nos aparecerá el mapa de nuestra red (hasta el momento con sólo 2 agentes).p9

Rastreamiento de Red

Otra forma de agregar agentes, pero esta vez de forma automática, es por medio del rastreamiento de nuestra red.

Para ello nos vamos al panel del lateral izquierdo, Servidores (servers) > Tarea de reconcimiento.

Pulsamos sobre crear y definimos su configuración.p10

De las demás opciones que no aparecen en la captura, habilitaremos la Detección de padres.

Una vez creada (se creo para que se ejecutara de forma manual), la lanzamos pulsando sobre la acción con el icono de lupa.

Podemos navegar por la consola web sin necesidad de estar pendientes a la finalización de la tarea ya que podemos volver a visualizar su porcentaje pulsando sobre el icono del ojo, situado sobre el cuadro de la lista con las tareas creadas.

Para poder visualizar si efectivamente va agregando agentes, nos podemos ir a varios sitios:

  • Recursos (resources) > Gestionar agentesp11
  • Consola de red (networkconsole) > Mapa de red (en caso de tener creado uno, cómo es mi caso)p12
  • Agentes > Vistas > Vista táctica (la cual podemos ver todos los eventos de creación de agentes y si la tarea de reconocimiento ha encontrado algún otro agente)p13

A mi elección, prefiero hacerlo con la tarea de reconocimiento ya que podemos definir el rango de la red, la plantilla para los módulos, el grupo al que va destinado, etc. de forma automatizada y sin ningún impedimento con los agentes.

Configurando las alertas de correo

Las alertas de correo son verdaderamente útiles a la hora de avisarnos sobre la caída de los agentes, si ha dejado de funcionar algún módulo del agente o si se encuentran nuevos agentes por las tareas de reconocimiento, por ejemplo.

Para poder realizar las alertas por correo, deberemos de instalar el servidor de correos en nuestra máquina, en mi caso instalaré Postfix.

apt install postfix

Durante la instalación nos preguntará para qué queremos el servidor, en mi caso será Sitio de internet y mi nombre del sistema de correo será openbinary.org.

Editamos el fichero /etc/postfix/main.cf y añadimos las siguientes lineas:

relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
smtp_tls_CAfile = /etc/postfix/cacert.pem

Nos vamos al directorio /etc/postfix/sasl y creamos el fichero passwd el cuál contendrá nuestros datos de inicio de sesión en Gmail:

nano /etc/postfix/sasl/passwd
[smtp.gmail.com]:587 <cuenta>@gmail.com:<contraseña>

Cambiamos los permisos al fichero para qué sólo root lo pueda modificar:

chmod 600 /etc/postfix/sasl/passwd

Indexamos el fichero anteriormente creado:

postmap /etc/postfix/sasl/passwd

Procedemos a instalar los certificados de Gmail y Equifax, pero primero creamos los siguientes directorios:

cd /etc/
mkdir -p pki/tls

Nos descargamos el certificado de Equifax:

cd pki/tls
wget -O Equifax_Secure_Certificate_Authority.pem https://www.geotrust.com/resources/root_certificates/certificates/Equifax_Secure_Certificate_Authority.cer

Añadimos permisos estándar al certificado descargado:

chmod 644 Equifax_Secure_Certificate_Authority.pem

Solicitamos la firma del certificado anteriormente descargado:

openssl x509 -in Equifax_Secure_Certificate_Authority.pem -fingerprint -subject -issuer -serial -hash -noout

Obtenemos el certificado real de Gmail:

openssl s_client -connect pop.gmail.com:995 -showcerts

No os preocupeis por la salida del comando, pulsando enter salimos de ella.

Creamos el siguiente fichero con su contenido:

nano /etc/pki/tls/gmail.pem
-----BEGIN CERTIFICATE-----
MIIDWjCCAsOgAwIBAgIKYgy3qQADAAAJ5zANBgkqhkiG9w0BAQUFADBGMQswCQYD
VQQGEwJVUzETMBEGA1UEChMKR29vZ2xlIEluYzEiMCAGA1UEAxMZR29vZ2xlIElu
dGVybmV0IEF1dGhvcml0eTAeFw0wOTA3MTcxNzE2NTVaFw0xMDA3MTcxNzI2NTVa
MGcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N
b3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRYwFAYDVQQDEw1wb3Au
Z21haWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTHqjJfnRXdpmZ
4iP/WNCpvzX4N97bEZ3rvS4aDYey/DJetKZqp9DK1Ie4/C5j8M1aakwiTNA/eHS/
wNWVgQx8+HxproYKUeeYj3shYKEkHGfrRYBcyCxc7Gd6NSGaaYru3Z7nJ+STIPUJ
E1N35JAwcjjdITVI2O4LckAL4b7GkwIDAQABo4IBLDCCASgwHQYDVR0OBBYEFIln
0T5I8Mw6cqhtUS4pyMGYRxOTMB8GA1UdIwQYMBaAFL/AMOv1QxE+Z7qekfv8atrj
axIkMFsGA1UdHwRUMFIwUKBOoEyGSmh0dHA6Ly93d3cuZ3N0YXRpYy5jb20vR29v
Z2xlSW50ZXJuZXRBdXRob3JpdHkvR29vZ2xlSW50ZXJuZXRBdXRob3JpdHkuY3Js
MGYGCCsGAQUFBwEBBFowWDBWBggrBgEFBQcwAoZKaHR0cDovL3d3dy5nc3RhdGlj
LmNvbS9Hb29nbGVJbnRlcm5ldEF1dGhvcml0eS9Hb29nbGVJbnRlcm5ldEF1dGhv
cml0eS5jcnQwIQYJKwYBBAGCNxQCBBQeEgBXAGUAYgBTAGUAcgB2AGUAcjANBgkq
hkiG9w0BAQUFAAOBgQCEGIebkDpktdjtzMiTTmEiN7e4vc73hEI4K0jYKyY0Wn5N
dc44AXTfIWOzsikwb886PCUSevGs9rcw2/kaHdPaBSuGrzSCf8ODQqTC3odry3lo
PtZGr6nf/81F5UW71+bE1iWOQlJ5/olWOr2SlqYla1iOmosEctD/GyoFnDh+BA==
-----END CERTIFICATE-----

Rehasheamos los certificados (teniendo en cuenta que estamos en /etc/pki/tls):

c_rehash

Verificamos que tenemos “comunicación” con Gmail:

openssl s_client -connect pop.gmail.com:995 -CApath /etc/pki/tls

Deberemos de obtener, al final de la salida, lo siguiente:

+OK Gpop ready for requests from ...

Ahora procedemos a crear el fichero Equifax_Secure_CA.pem con su contenido:

nano /etc/ssl/certs/Equifax_Secure_CA.pem
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
-----END CERTIFICATE-----

Añadimos la autoridad certificadora de Equifax en el archivo de certificado usado por Postfix:

cat /etc/ssl/certs/Equifax_Secure_CA.pem > /etc/postfix/cacert.pem

Para terminar de configurar Postfix, lo reiniciamos:

/etc/init.d/postfix restart

Ahora procedemos a editar la acción Mail To Admin para que el destinatario seamos nosotros.

En la consola web de PandoraFMS nos vamos al panel del lateral izquierdo, en Alertas (Alerts) > Acciones > Mail To Admin. Deberemos de cambiar un campo (destinatario) para que nos lo envie a nuestro correo.p14

Ahora procedemos a crear una Alerta sobre un agente por medio de un módulo (el cuál está añadido automáticamente gracias a la tarea de reconocimiento)

Nos vamos al panel del lateral izquierdo, en Alertas (Alerts) > Lista de Alertas > Pulsamos sobre el botón Crear y definimos los campos.p15

Para que la alerta sea disparada, desconectaremos de la red dicho agente y podremos ver en la Vista Táctica cómo se dispara. Si nos vamos a nuestro correo deberá de aparecer el correo de la alerta.p16

El contenido del correo es completamente editable. Su contenido es uno de los campos de la Acción Mail To Admin.

Una vez el agente vuelva a tener conexión, validamos la alerta lanzada pulsando sobre ella en la Vista Táctica.

Definiendo plantillas de módulos para agentes predeterminados

Por último, definiremos una nueva plantilla de módulos para los agentes que agreguemos en un futuro, ya sea manualmente o por tareas de reconocimiento.

Para ello nos vamos al panel lateral izquierdo, Configuración (Configuration) > Plantillas de módulos.

Cómo podremos observar, PandoraFMS trae por defecto 3 plantillas:p17

Procedemos a crear la nuestra, pulsamos sobre Crear y definimos, a nuestro gusto, sus campos. Primero debemos de definir su nombre así cómo una descripción (opcional) y pulsamos sobre Crear, al momento saldrán los módulos que podremos añadir a la plantilla. Podemos ir añadiendolos uno a uno y filtrando por grupos.

Una vez hayamos terminado de añadir módulos, podremos asignarlos a los agentes. Para ello nos vamos a la Gestión de Agentes > Nos vamos a la sección Módulos de un agente cualquiera > En los iconos superiores, seleccionamos Plantillas de módulos (tercero empezando por la izquierda)

 

p18

En el menú desplegable nos aparecerá el que hemos creado. Lo asignamos he inmediatamente nos aparecerán asignados todos los módulos seleccionados al agente.p19

 

PandoraFMS ofrece muchísimas más herramientas y configuraciones de monitorización, por ejemplo, alertas correlativas (alertas que lanzan otras alertas), creación de scripts, respuestas personalizadas de eventos, operaciones masivas sobre módulos, usuarios, alertas, plugins y agentes, informes y gráficas personalizadas y un largo etcétera.

En mi opinión, un potente software de monitorización (y esta entrada ha sido sobre la versión gratuita, la versión enterprise ofrece mucho más) gratuito, con mucho juego, interesante. fácil y cómodo de configurar. Si alguien está buscando monitorizar su sistema, que no lo dude y se instale PandoraFMS.

Os dejo su blog dónde, diariamente o cada dos días, publican entradas muy interesantes.

Hasta aquí la entrada. Espero que os haya gustado tanto cómo a mi, que disfruteis aprendiendo a monitorizar y nos vemos en la próxima publicación!

Saludos!

Anuncios

2 comentarios sobre “Monitorización con Pandora FMS en Debian Jessie

  1. ¡Muy bien! Directo y rápido, se asimila bien y todo bien explicado, FELICITACIONES, ¡ENHORABUENA!

    Lo que caigo en cuenta es la pregunta que realiza al instalar, cito:

    «ATENCIÓN: ¡No se han podido autenticar los siguientes paquetes!
    pandorafms-console pandorafms-server
    ¿Instalar estos paquetes sin verificación? [s/N]»

    Teniendo en cuenta que la entrada al repositorio NO es https
    (sin embargo el sitio artica . es SÍ que es https), cito:
    «# Pandora FMS
    deb h t t p : // firefly .artica. es/debian/jessie /»

    (siempre insertamos espacio para inutilizar los enlaces y así evitamos que el servidor nos tilde de “spammers”)

    Para el caso de la instalación en CentOS en yum podemos agregar lo siguiente para que no pregunte nada:
    gpgcheck=0
    o en su defecto, si tuvieramos una clave gpg (el problema está advertido en este hilo INSERTAMOS ESPACIOS PARA INUTILIZAR EL ENLACE h t t p s : / / github . com/ pandorafms/pandorafms/issues/52) POR EJEMPLO la clave instalada para versiones del servidor:
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

    La respuesta sobre cómo autenticar dichos paquetes sería por medio del contenido que se encuentra en el archivo “Packages.gz” ( h t t p : / / firefly. artica. es/ debian/wheezy/Packages.gz ), que contiene la siguiente información:

    ——-
    Package: pandorafms-console
    Version: 7.0NG.713
    Architecture: all
    Maintainer: Artica ST
    Installed-Size: 42112
    Depends: php5.6 | php5, php5.6-snmp | php5-snmp, php5.6-gd | php5-gd, php5.6-mysql | php5-mysql, php-db, php5.6-xmlrpc | php5-xmlrpc, php-gettext, php5.6-curl | php5-curl, graphviz, dbconfig-common, php5.6-ldap | php5-ldap, mysql-client | virtual-mysql-client
    Filename: ./pandorafms.console_7.0NG.713.deb
    Size: 31678816
    MD5sum: ab6bddbf847bb481b3c00289f8616fc4
    SHA1: a48c75a91bec04c09391798866ded29c97f054f8
    SHA256: 372754a76f7e7d83a5d9aca7427b955cf4f733cad9d3dad43e155f0824512120
    Section: admin
    Priority: optional
    Homepage: h t t p : / / pandorafms .org/
    Description: Pandora FMS is an Open Source monitoring tool. It monitor your systems and applications, and allows you to control the status of any element of them. The web console is the graphical user interface (GUI) to manage the pool and to generate reports and graphs from the Pandora FMS monitoring process.
    ——-

    Mi pregunta es, con todo respeto, ¿CÓMO REALIZAMOS UNA VERIFICACIÓN DE QUE EL ARCHIVO .DEB DESCARGADO COINCIDE CON MD5sum, SHA1 y SHA256? (Bueno, en realidad con SHA256 es más que suficiente) Claro, podríamos hacer un .sh para que lo compruebe, pero ¿al instalar se comprueba, se pudiera comprobar, cuál “solución” se os ocurre?
    (todas estas inquietudes mías VAN MÁS ALLÁ de Pandora FMS, ¡es la búsqueda del conocimiento!)

    NOTA: ESTOY ABSOLUTAMENTE CONSCIENTE QUE EL ARCHIVO “Packages.gz” *TAMBIÉN* LO DESCARGAMOS DE UN SERVIDOR QUE NO ES https, así que si nos suplantan en el camino el .deb que queramos descargar pues también tendrían que TAMBIÉN cambiar los valores en “Packages.gz” ¿me pilláis la idea?

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.