Actualizado el viernes 26 de febrero de 2021
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.
Tabla de contenido:
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.
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.
Actualizado el viernes 26 de febrero de 2021
Oficialmente Pandora FMS ahora solo tiene soporte oficial sobre CentOS y RHEL. Bien sabemos que lo único constante es el cambio.
Si quieren aprender un poco más sobre Debian alojado en DigitalOcean, quédense.
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:
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.
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.
Ahora escogeremos el plan de propósito general, el cual es suficiente para los requisitos de funcionamiento de PFMS.
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).
- 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.
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.
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 sudo: esa 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.
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:
- Incrementar la disponibilidad de una base de datos: PostgreSQL tiene un modelo de replicación lógica que explico en este artículo. DigitalOcean tiene un artículo destinado a realizar esto sobre máquinas virtuales.
- Redis es una base de datos no SQL muy rápida para almacenar claves y valores, en este tutorial enseña cómo instalar y asegurar su funcionamiento.
- ProxySQL es un recurso para acelerar y dar un uso racional a nuestras valiosas bases de datos: cada consulta será hecha una sola vez y almacenada para estar a la mano para múltiples usuarios que soliciten la misma información.
- Por último las bases de datos administradas: nunca más seremos administrador o usuario raíz, delegaremos todo su cuidado y mantenimiento en DigitalOcean ¡y podremos crecer cuando queramos y/o necesitemos!
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.
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
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
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.
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
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
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
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).
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).
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.
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!
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>.
0 comentarios en «Recurso didáctico: instalación de Pandora FMS en Debian 10.»
Los comentarios están cerrados.