Ártica ST logotipo año 2020 Pandora FMS

Recurso didáctico: instalación de Pandora FMS en Debian 10.

Download PDF

Actualizado el jueves  12 de noviembre de 2020

No me canso de repetirlo: soy un debianita empedernido… aunque ahora uso Ubuntu (Lubuntu, etcétera). Pero leí este mensaje en la red social Twitter y me hizo recordar cuando aprendí a usar Debian 7 en el año 2014: mi corazón hacker comenzó a latir con fuerza.

Más que instalar Pandora FMS (PFMS) -que eso es bastante bueno ya, usen esa magnífica herramienta de monitorización-, esta entrada va de que aprendáis algunas características de Debian y además aprendáis a utilizar la «computación en la nube» con el proveedor estadounidense a nivel mundial DigitalOcean. Montad la cafetera con 12 tazas, venid.

«To me this is party time. Everything I need.» Justin Matthew (Flickr)
«To me this is party time. Everything I need.» Justin Matthew (Flickr)

Introducción

Por supuesto que no es la primera vez que escribimos sobre Pandora FMS, incluso el creador de dicho sistema de monitorización, señor Sancho Lerena, nos hizo el honor de permitir publicar por acá la traducción de su artículo originalmente publicado en OpenSourceWay, el blog oficial de la distribución GNU/Linux Red Hat. Esta distro, junto con Fedora y CentOS conforman una comunidad muy unida y de hecho CentOS es el sistema operativo (SO) recomendado oficialmente por Pandora FMS.


Advertencia.
Advertencia.

Este artículo no pretende ser una guía oficial, ni siquiera un tutorial. El equipazo de Pandora FMS tiene un manual ex profeso para ello donde explican muy bien el proceso de instalación en Debian 9 (y otras plataformas, además).

¡Quedan avisadas y avisados!

Si son administradoras o administradores (en inglés sysadmin) no pierdan tiempo y vayan a los artículos que menciono. Si quieren aprender un poco más sobre Debian alojado en DigitalOcean, quédense.

Digitalocean Sammy green heart balloon
DigitalOcean Sammy green heart balloon

Creación de una máquina virtual (droplet) con Debian 10

Una vez hayan creado una cuenta en DigitalOcean con nuestro código de referido, tendrán saldo suficiente para crear un proyecto y dentro del mismo crear una máquina virtual.

Primero creamos el proyecto con los siguientes valores:

Creación de un proyecto nuevo en DigitalOcean
Creación de un proyecto nuevo en DigitalOcean

Cuando pregunte por mover recursos a este nuevo proyecto, escogemos «omitir por ahora» («skip for now»). A continuación escogemos nuestro sistema operativo objetivo: Debian 10 64 bits.

Escoger una imagen de sistema operativo para una máquina virtual en DigitalOcean
Escoger una imagen de sistema operativo para una máquina virtual en DigitalOcean
(Debian para nuestra «clase»)

Comenzamos con nuestra prédica: Debian es una distro adecuada para instalar fuera de línea ya que podremos descargar sus tres discos (DVD) por medio de Torrent y así ayudar a difundir de manera descentralizada (Ubuntu también pero solamente un disco). El primer disco es el de la instalación (también lo pueden «quemar» en memorias USB: pendrives o flashcards), los demás son programas y librerías. Las tres imágenes las podremos colocar en un repositorio para una red de área local y mantenerlo actualizado luego (esa es la teoría, la práctica lleva tiempo).

Ahora bien, estoy casi seguro que DigitalOcean tiene servidores proxy que almacenan la información con las actualizaciones y/o paquetes adicionales para cuando nosotros comencemos a trabajar con ellos sea más rápida la experiencia. Cada droplet (gotita) tiene 300 mbps de conexión a Internet (mi experiencia práctica con iperf).

Allí pueden ver la opción de instalar CentOS, el SO recomendado en Pandora FMS, y esto da material para otro artículo. Una forma bien fácil de montar un servidor PFMS es descargando su imagen ISO, «quemarla» e instalarla en un ordenador físico (bare-metal). También lo podemos virtualizar con VirtualBox y podremos dar un paso más allá: exportar dicha imagen -agregando y configurando la tecnología cloud-init – para luego «subirla» a DigitalOcean. De nuevo, decirlo es más fácil que hacerlo; DigitalOcean (25 de agosto de 2020) cobra 5 centavos de dólar estadounidenses por gigabyte por mes por almacenamiento de dicha imagen personalizada. En este artículo muestra cómo realizarlo para con Ubuntu y este otro enlace alberga el paquete cloud-init para Debian.


Instalación de Pandora FMS en CentOS 8

Ahora escogeremos el plan de propósito general, el cual es suficiente para los requisitos de funcionamiento de PFMS.

Máquina virtual de propósito general en DigitalOcean
Máquina virtual de propósito general en DigitalOcean

DigitalOcean tiene centros de datos propios y/o alquilados a nivel mundial, seleccionamos de entre el que está disponible el más cercano a nosotros. En mi caso, como todos están relativamente a la misma distancia, escojo la ciudad de Ámsterdam (saludos sra. Erika Heidid).

Escoger centro de datos de DigitalOcean a nivel mundial
Escoger centro de datos de DigitalOcean a nivel mundial
  • Para mayores detalles acerca de cómo inicializar Debian 10 en DigitalOcean pueden visitar este tutorial; para esta entrada yo escogí usar el usuario raíz (root user), par de claves (pública y privada) y un muro de fuego (ufw -si van a dedicar un servidor de base de datos, recuerden abrir los puertos para las otras máquinas).
  • Escogí utilizar un subdominio, lo cual es fácil y rápido de agregar en los DNS de DigitalOcean. Si desean usar un dominio completo para PFMS puede tardar de 12 a 24 horas ya que deben de apuntar los DNS de DigitalOcean al vendedor del dominio; luego dichos cambios deben propagarse en el resto de los demás servidores DNS.
  • Debido al punto anterior, el servidor web Apache lo configuro con virtual hosts, más adelante tocaremos ese tema de nuevo.
  • DigitalOcean ofrece, sin costo adicional, servicios tales como IPv6, IP flotantes, etc. los cuales declino usar para mayor simplicidad en el aprendizaje.
Conexión como usuario raíz y uso del indicador de comando powerline ( https://colaboratorio.net/jimmy/terminal/2019/como-instalar-powerline-en-ubuntu/ )
Conexión como usuario raíz y uso del indicador de comando powerline
( https://colaboratorio.net/jimmy/terminal/2019/como-instalar-powerline-en-ubuntu/ )
Actualización de Debian 10 desde sus repositorios por defecto
Actualización de Debian 10 desde sus repositorios por defecto

Aclaratoria: las máquinas virtuales en DigitalOcean las debemos apagar por software y a pesar de que estén apagadas igual siguen cobrando el «alojamiento». Para volver a encenderlas debemos ir por al panel de control web. En mi caso al finalizar esta práctica procederé a borrar por completo el «droplet» y luego el proyecto, sin posibilidad de recuperar dato alguno. Si contratan algún plan de respaldo de datos recuerden borrar también los respaldos, que por eso cobran también, ojo con eso.

Encendido de una máquina virtual (en este caso con Debian 10) en DigitalOcean
Encendido de una máquina virtual (en este caso con Debian 10) en DigitalOcean

Instalando la base de datos

Escogí utilizar la versión comunitaria de MySQL y en este artículo detallan cómo realizarlo, incluyendo las medidas de seguridad básica para este entorno Debian 10. En algunas imágenes notarán que aunque estoy trabajando como administrador sigo utilizando el comando sudoesa es la fuerza de la costumbre y es la manera correcta de trabajar, con otra cuenta de usuario que tenga derechos de administrador. Me perdonan esta, por favor.

systemctl status mysql
systemctl status mysql

DigitalOcean ofrece variedad de tutoriales y servicios en el campo de las bases de datos, nombro algunos para que los conozcan y tengan presentes ya que pueden ser útiles en algunos de nuestros proyectos de programación:

Por favor, lea también   Importando datos en formato CSV a SQLite3

Repositorios adicionales para Debian 10

Comienzo por agregar al repositorio por defecto tres líneas:

  • La línea número uno permite agregar a Debian 10 el software heredado y que haya sido modificado para funcionar con esta nueva versión, tal como se explica aquíComo todo lo que sucede con el software libre, ya que tenemos el código fuente, nosotros y solamente nosotros somos responsables de lo que utilizamos: todo el software que traigamos de backports no ha sido probado en extremo y pues nos toca hacerlo y retribuir si hallamos algún error (no importa que no lo corrijamos, pero que al menos lo reportemos a Debian). Por cierto, también en ese repositorio incluyen software que ha sido retirado de los repositorios activos de Debian por algún problema de seguridad y/o estabilidad: esos no valen la pena reportar porque ya se sabe que presenta problemas. En otros casos las han desincorporado porque su desempeño es pobre y/o limitado, tal como la función bcrypt, antes utilizada para cifrar información en Twitter y que fue desincorporada en Debian 8.
  • Otra particularidad en Debian es que no ofrecen por defecto el software que no es libre (código abierto, por ejemplo) pero sin embargo ofrecen un repositorio aparte para ello, para quien desee o necesita usarlo. Por ese simple detalle el Dr. Richard Stallman y la Free Software Foundation tienen en la lista de «no libre» a la GNU/Debian… Así las cosas, las líneas 2 y 3 permiten descargar dicho software y su respectivo código fuente, si lo tiene y/o está disponible.
nano  /etc/apt/sources.list (Debian 10)
nano /etc/apt/sources.list (Debian 10)
apt update en Debian 10 con repositorios ampliados
apt update en Debian 10 con repositorios ampliados
apt upgrade (Debian 10)
apt upgrade (Debian 10)

Lo anterior fue una actualización en sí de Debian con los repositorios que agregamos, acto seguido toca -por fin- comenzar a instalar Pandora FMS.

Dependencias de servidor Pandora FMS 749

Toca solicitar la instalación del siguiente software (noten que xprobe2 ha sido cambiado automáticamente por xprobe; para RHEL sí está disponible en SourceForge):

snmp snmpd libtime-format-perl libxml-simple-perl libxml-twig-perl libdbi-perl libnetaddr-ip-perl libhtml-parser-perl wmi-client xprobe2 nmap libmail-sendmail-perl traceroute libio-socket-inet6-perl libhtml-tree-perl libsnmp-perl snmp-mibs-downloader libio-socket-multicast-perl libsnmp-perl libjson-perl libencode-locale-perl
Dependencias básicas de Pandora FMS 749 (atención con xprobe2)
Dependencias básicas de Pandora FMS 749 (atención con xprobe2)
Instalación de las dependencias básicas de Pandora FMS 749
Instalación de las dependencias básicas de Pandora FMS 749

Instalación de wmi-client

Si bien recuerdo, este componente permite la monitorización en ambientes Microsoft Windows, podemos instalar con estas dos líneas de comandos:

wget https://netactuate.dl.sourceforge.net/project/pandora/Tools%20and%20dependencies%20%28All%20versions%29/DEB%20Debian%2C%20Ubuntu/wmi-client_0112-1_amd64.deb
dpkg -i wmi-client_0112-1_amd64.deb
Instalación de wmi-client desde repositorio PFMS en SorceForge
Instalación de wmi-client desde repositorio PFMS en SorceForge

Dependencias de consola Pandora FMS 749

En un primer intento volví a repasar las dependencias del servidor junto con las dependencias de la consola pero sustituyendo php7 por php5 (sí, ya se lo que están pensando…); no me sorprende para nada que no haya funcionado lo de PHP, lo que no esperaba era que php-db no estuviera disponible.

Dependencias de la consola Pandora FMS (incluye revisión de dependencias del servidor) notan php-db
Dependencias de la consola Pandora FMS (incluye revisión de dependencias del servidor) notan php-db

Instalación de php-db

Investigando un poco, en este vídeo explican una manera de hacerlo, instalando unas librerías básicas y luego descargando el paquete específico y marcándolo con apt-mark para que no sea sustituido por otro paquete, lo dejamos «fijo»:

apt install php-common php-pear
wget http://ftp.es.debian.org/debian/pool/main/p/php-db/php-db_1.9.2-1_all.deb
dpkg -i php-db_1.9.2-1_all.deb
apt-mark hold php-db
apt install php-common php-pear
apt install php-common php-pear
apt install php-common php-pear (finalización)
apt install php-common php-pear (finalización)
dpkg -i php-db_1.9.2-1_all.deb
dpkg -i php-db_1.9.2-1_all.deb

Reintento de instalación de las dependencias de la consola PFMS

apt-get install snmp snmpd libtime-format-perl libxml-simple-perl libxml-twig-perl libdbi-perl libnetaddr-ip-perl libhtml-parser-perl wmi-client xprobe nmap libmail-sendmail-perl traceroute libio-socket-inet6-perl libhtml-tree-perl libsnmp-perl snmp-mibs-downloader libio-socket-multicast-perl libsnmp-perl libjson-perl php libapache2-mod-php apache2 mysql-server php-gd php-mysql php-pear php-snmp php-gettext graphviz mysql-client php-curl php-xmlrpc php-ldap dbconfig-common 
Instalación de las dependencias de la consola PFMS incluído PHP (última versión)
Instalación de las dependencias de la consola PFMS incluído PHP (última versión)
Instalación de las dependencias de la consola PFMS incluído PHP (comienzo de descarga)
Instalación de las dependencias de la consola PFMS incluido PHP (comienzo de descarga)

Lo más fácil: descargar e instalar de la consola PFMS 749


wget http://firefly.artica.es/debian/wheezy/pandorafms.console_7.0NG.749.deb
dpkg -i pandorafms.console_7.0NG.749.deb
Descarga del instalador de la consola PFMS 749
Descarga del instalador de la consola PFMS 749
dpkg -i pandorafms.console_7.0NG.749.deb
dpkg -i pandorafms.console_7.0NG.749.deb

Acá hago una pausa, en la imagen anterior el guión de instalación nos muestra un mensaje importante, que no pudo mover a la ubicación por defecto a la consola PFMS. Recordemos que estamos utilizando un subdominio con virtual hosts en Apache Web Server, el cual fue instalado junto con la consola. 

La sra. Erika Heidi y el sr. Mark drake explican muy bien en esta sola sección del gran artículo sobre cómo instalar LAMP en Debian 10. Una vez hallamos realizado eso, podremos mover la consola a su sitio definitivo:

mv /var/www/pandora_console/ /var/www/debian10.pandorafms.com.ve/

Esto para nada es defecto alguno en el instalador, si acaso yo colocaría una variable que pueda ser personalizada pero igual le dejaría su valor por defecto.

Ahora vamos con el tema de asegurar nuestras comunicaciones por medio de la adquisición de certificados de Let’s Encrypt (por favor, si pueden, donen a esa noble causa).

¡Usemos Let’s Encrypt! (por favor dona, si puedes)

Por supuesto que DigitalOcean tiene un magnífico tutorial que tuvo que ser escrito a tres pares de manos, de nuevo la sra. Erika Heidi, el sr. Mark Drake y la sra. Kathleen Juell. Acá entramos en otro asunto escabroso para Debian 10, y aplaudo la decisión tomada por este trío de experimentados escritores: ¿recuerda el tema de los backports? pues el certbot está demasiado atrasado en estos repositorios por lo que debemos instalar snappy (también llamado snaps o snapcraft) el cual es un manejador de paquetes desarrollado por la empresa Canonical (Ubuntu)… Sí, señoras y señores, el alumno (Ubuntu) ha superado a su maestro (Debian).

Welcome to debian10.pandorafms.com.ve (Debian 10)
Welcome to debian10.pandorafms.com.ve (Debian 10)

Vuelvo a repetir: como acá utilicé un subdominio, la adquisición automatizada de los certificados de Let’s Encrypt fue cuestión de pocos minutos.

Casi lo olvido, tuve un pequeño problema con una dependencia de PHP, en esta discusión vi la luz, este es el código:

apt install libzip4 php-zip php7.3-zip

Noten que a medida del paso del tiempo PHP irá evolucionando, así que esto será tema recurrente lo de las dependencias. Por ello, un recomiendo muy útil es:

apt --fix-broken install

Instalación del servidor PFMS 749 en Debian 10

Llegamos al clímax del asunto:

  • Descargar del repositorio de Pandora FMS la versión 749 (si ha pasado el tiempo coloquen el número de la última versión a la línea de comando).
  • De nuevo instalación de dependencias, unas son para geolocalización.
  • Instalación en sí del servidor.
apt install geoip-database geoip-database-extra libdbd-mysql-perl libgeo-ip-perl libgeoip1 libnet-telnet-perl geoip-bin

Como esta es la menos «traumática» -pero la más importante- solo les dejo unos pantallazos del asunto.

Descarga de servidor PFMS 749 con el comando wget
Descarga de servidor PFMS 749 con el comando wget
Instalación de dependencias adicionales para el servidor PFMS 749
Instalación de dependencias adicionales para el servidor PFMS 749
Instalación del servidor PFMS 749 en Debian 10
Instalación del servidor PFMS 749 en Debian 10

Inicio del asistente de instalación de Pandora FMS

Ya habiendo instalado la consola y luego el servidor, solo queda por conectar con protocolo seguro HTTPS a nuestra nueva y flamante instalación y para no alargar más les dejo hasta donde solicita crear l estructura de la base de datos pandora, ¡esto continuará, amigos y amigos!

Asistente de instalación Pandora FMS 749 en Debian 10 paso 1
Asistente de instalación Pandora FMS 749 en Debian 10 paso 1
Asistente de instalación Pandora FMS 749 en Debian 10 paso 2
Asistente de instalación Pandora FMS 749 en Debian 10 paso 2
Asistente de instalación Pandora FMS 749 en Debian 10 paso 3
Asistente de instalación Pandora FMS 749 en Debian 10 paso 3

Asistente de instalación Pandora FMS 749 en Debian 10 paso 4
Asistente de instalación Pandora FMS 749 en Debian 10 paso 4

Asistente de instalación Pandora FMS 749 en Debian 10 paso 5
Asistente de instalación Pandora FMS 749 en Debian 10 paso 5
He colocado este «tuit» de manera referencial e ilustrativa (aunque el equipazo de Pandora FMS no tuvo nada que ver en este artículo, vaya que saben celebrar un trabajo bien hecho)
¡ÁNIMO QUE TODO SALDRÁ BIEN!

Véase también

Seguimiento y búsqueda de dependencias

En la red social Twitter el sr. Daniel Stenberg, creador de la herramienta curl, sostiene una conversación con Martin Plattner acerca de las librería que utilizan curl y el sr. Plattner propone una herramienta llamada apt-rdepends que tal vez nos pueda ser útil a la hora de determinar cuáles son los requisitos para PFMS.

<Eso es todo, por ahora>.

Download PDF

Deja una respuesta