Cómo instalar la herramienta de monitorización de red Observium en Debian 11
Observium es una herramienta de supervisión de redes para tu infraestructura de servidores. Se trata de una plataforma de supervisión de red de autodescubrimiento con bajo mantenimiento y compatible con una amplia gama de dispositivos y plataformas de red, entre los que se incluyen Cisco, Linux, Windows, HP, Juniper, Dell, FreeBSD, Netscalar, NetApp y muchos más.
Observium está disponible en varias versiones: la gratuita, la profesional y la empresarial. Para el laboratorio doméstico, la versión gratuita de Observium es más que suficiente para supervisar tus dispositivos de red.
Observium también proporciona una interfaz de usuario intuitiva que te permite obtener fácilmente el estado de tus dispositivos de red. Y también proporciona integración externa con una aplicación de terceros que te permite crear un módulo personalizado para recoger e informar de los datos de tu aplicación.
En este tutorial, configurarás la Herramienta de Monitorización de Red Observium en un servidor Debian 11. Con esta guía, ejecutarás Observium bajo la pila LAMP (Linux, Apache2, MariaDB y PHP). Al final del tutorial, tendrás la Monitorización de red Observium en funcionamiento y estarás listo para añadir el host o los dispositivos de red que vas a monitorizar.
Requisitos previos
Para completar este tutorial, necesitarás los siguientes requisitos:
- Un servidor Debian 11 – Este ejemplo utiliza la última versión de Debian Bulleye con el nombre de host ‘observium-server’.
- Un usuario no root con privilegios de administrador sudo/root.
Instalación de dependencias
Observium es una herramienta de monitorización de red escrita principalmente en PHP. Para instalar Observium, debes instalar dependencias de paquetes como el servidor web Apache2, el servidor de bases de datos MariaDB y paquetes PHP, y algunas utilidades de red como whois, rrdtool, mtr y muchas más.
En el primer paso, instalarás algunas dependencias de paquetes que incluyen la pila LAMP y algunas herramientas de red en el sistema Debian.
Ejecuta el siguiente comando apt para actualizar y refrescar el índice de paquetes de Debian.
sudo apt update
Ahora instala las dependencias de paquetes para Observium mediante el siguiente comando apt.
sudo apt install libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-gd php7.4-json php7.4-bcmath \ php7.4-mbstring php7.4-opcache php7.4-apcu php7.4-curl php-pear snmp fping rrdtool whois \ mariadb-server mariadb-client subversion mtr-tiny ipmitool graphviz imagemagick apache2 \ python3-mysqldb python3-pymysql python-is-python3
Cuando se te pida confirmación, introduce y para confirmar y pulsa ENTER para continuar. Y comenzará la instalación.
Una vez instaladas las dependencias de los paquetes, lo siguiente será instalar y configurar la pila LAMP para la instalación de Observium.
Configurar el servidor MariaDB
Ahora configurarás el servidor MariaDB que se utilizará para Observium. Asegurarás la instalación de MariaDB mediante el comando ‘mysql_secure_installation’, y después crearás una nueva base de datos y un nuevo usuario que se utilizarán para la instalación de Observium.
Antes de empezar, ejecuta el siguiente comando systemctl para asegurarte de que el servicio MariaDB está habilitado y en ejecución.
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
Verás la siguiente salida: el servicio MariaDB está habilitado y se ejecutará automáticamente al arrancar. Y el estado actual del servicio MariaDB en ejecución.
A continuación, asegura la instalación del servidor MariaDB mediante el comando «mysql_secure_installation» que aparece a continuación.
sudo mysql_secure_installation
Ahora se te pedirán algunas configuraciones de MariaDB:
- ¿Cambiar el usuario raíz de MariaDB al método de autenticación unix_socket? Introduce n para no.
- ¿Establecer una nueva contraseña de root de MariaDB? Introduce y para confirmar, luego escribe la nueva contraseña para tu despliegue de MariaDB y repite la contraseña.
- ¿Desactivar el inicio de sesión remoto para el usuario raíz de MariaDB? Introduce y para confirmar y desactivarlo.
- ¿Eliminar el usuario anónimo por defecto de MariaDB? Introduce y.
- ¿Eliminar la prueba de base de datos por defecto de MariaDB? Introduce y.
- Por último, ¿recargar todos los privilegios de las tablas para aplicar los nuevos cambios? Introduce y para confirmar.
Ahora que has asegurado la instalación de MariaDB, configúrala con la contraseña de root. A continuación, crearás una nueva base de datos MariaDB y un nuevo usuario para el Observium.
Ejecuta el siguiente comando para acceder al intérprete de comandos de MariaDB como usuario raíz de MariaDB.
sudo mysql -u root -p
Ejecuta las siguientes consultas para crear una nueva base de datos y un nuevo usuario para el Observium. También puedes cambiar el nombre de la base de datos, el usuario de la base de datos y la contraseña con tus datos.
Este ejemplo creará una nueva base de datos y un nuevo usuario‘observium‘ con la contraseña‘p4ssw0rd‘.
CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY 'p4ssw0rd'; FLUSH PRIVILEGES;
Ahora ejecuta la siguiente consulta para asegurarte de que el usuario ‘observium’ de MariaDB tiene acceso y privilegios a la base de datos ‘observium’.
SHOW GRANTS FOR observium@localhost; quit
Verás el resultado como en la siguiente captura de pantalla: El usuario MariaDB «observium» tiene privilegios en la base de datos«observium«.
Ahora que ya has configurado el servidor MariaDB y creado la base de datos y el usuario para Observium. A continuación, repasarás las configuraciones de PHP.
Configuración de PHP
Para instalar Observium, debes editar algunas configuraciones de PHP. Harás un cambio en el archivo ‘php.ini’ de configuración de PHP y habilitarás el opcache de PHP. Además, comprobarás la configuración del servidor web PHP y Apache2 a través del PHPINFO, que garantizará que Apache2 y PHP funcionan.
Edita el archivo‘/etc/php/7.4/apache2/php.ini‘ utilizando el siguiente comando del editor nano.
sudo nano /etc/php/7.4/apache2/php.ini
Descomenta la siguiente configuración y asegúrate de cambiar la opción ‘error_reporting‘ por algo como esto.
file_uploads = On default_charset = UTF-8 error_reporting = E_ALL & ~E_NOTICE date.timezone = Europe/London
En la opción ‘[opcache]‘, cambia la siguiente configuración. Esto habilitará la extensión PHP opcache y añadirá alguna configuración para obtener el máximo rendimiento.
[opcache] opcache.enable=1 opcache.enable_cli=1 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=10000 opcache.memory_consumption=128 opcache.save_comments=1 opcache.revalidate_freq=1
Guarda el archivo y sal del editor cuando hayas terminado.
Ahora reinicia el servicio Apache2 mediante el siguiente comando systemctl y aplica los nuevos cambios.
sudo systemctl restart apache2
Comprueba el estado del servicio Apache2 mediante el siguiente comando para asegurarte de que el servicio Apache2 se está ejecutando y está habilitado.
sudo systemctl is-enabled apache2 sudo systemctl status apache2
Verás una salida como ésta: El servicio Apache2 está habilitado y se ejecutará automáticamente al arrancar. Y el estado actual del servicio Apache2 es en ejecución.
Para asegurarte de que Apache2 y PHP funcionan, crearás un nuevo archivo PHPINFO. Ejecuta el siguiente comando para crear un nuevo archivo PHPINFO‘/var/www/html/info.php‘.
echo '<?php phpinfo(); ?>' | tee /var/www/html/info.php
Abre tu navegador web y visita la dirección IP del servidor seguida de la ruta‘/info.php’ (es decir: http://192.168.5.30/info.php).
Si Apache2 y PHP están configurados correctamente, verás entonces la página PHPINFO como la siguiente. Verás información detallada sobre tu instalación y configuración de PHP.
Ahora que ya has configurado el servidor de bases de datos MariaDB y PHP, a continuación descargarás el código fuente de Observium y configurarás la instalación de Observium.
Instalación de la Herramienta de Monitorización de Red Observium
En este paso, descargarás el código fuente de Observium, configurarás los detalles de la base de datos para Observium, importarás el esquema de la base de datos y, por último, crearás un usuario administrador para la instalación de Observium.
Mueve el directorio de trabajo a‘/opt’ y descarga el código fuente de Observium mediante el siguiente comando wget. Cuando finalice el proceso de descarga, verás el archivo ‘observium-community-latest.tar.gz‘ en tu directorio de trabajo actual.
cd /opt wget http://www.observium.org/observium-community-latest.tar.gz
Extrae el archivo «observium-community-latest.tar.gz» con el comando tar que aparece a continuación.
tar zxvf observium-community-latest.tar.gz
Ahora el código fuente de Observium estará disponible en el directorio ‘/opt/observium’, que será el directorio de instalación de destino para la Herramienta de Monitorización Obserevium.
A continuación, crea nuevos directorios adicionales que se utilizarán para almacenar registros y archivos rrd. A continuación, cambia la propiedad de los nuevos directorios al usuario y grupo ‘www-data’.
mkdir -p /opt/observium/{logs,rrd} sudo chown -R www-data:www-data /opt/observium/{logs,rrd}
Una vez creados los directorios adicionales, desplázate al directorio de instalación de Observium‘/opt/observium‘.
cd /opt/observium
Copia la configuración por defecto de Observium ‘config.php.default ‘ en‘config.php’. A continuación, edita el nuevo archivo‘config.php’ mediante el siguiente editor nano.
cp config.php.default config.php nano config.php
Cambia la configuración por defecto de la base de datos con los datos de tu base de datos.
$config['db_extension'] = 'mysqli'; $config['db_host'] = 'localhost'; $config['db_user'] = 'observium'; $config['db_pass'] = 'p4ssw0rd'; $config['db_name'] = 'observium';
Guarda el archivo y sal del editor cuando hayas terminado.
A continuación, ejecuta el script«discovery.php» para actualizar la base de datos e importar el esquema de la base de datos para la instalación de Observium.
./discovery.php -u
Obtendrás un resultado como el de la siguiente captura de pantalla.
Una vez importado el esquema de la base de datos de Observium, ejecuta el script «adduser.php» para configurar el usuario administrador de Observium.
Este ejemplo creará un nuevo usuario‘admin‘ con la contraseña‘p4ssw0rd‘ y el rol es’10‘ que es el rol más alto en Observium como administrador.
./adduser.php admin p4ssw0rd 10
Una vez creado el usuario, verás un mensaje como‘Usuario admin añadido correctamente‘.
Llegados a este punto, ya has terminado la instalación y configuración básicas de la Herramienta de Monitorización de Red Observium. Pero, aún necesitas establecer la configuración del host virtual Apache2 para Observium.
Configuración del host virtual Apache2
Una vez instalado y configurado Observium, ahora deberás establecer la nueva configuración del host virtual Apache2 de Observium. Antes de empezar, asegúrate de que tienes el nombre de dominio local para la instalación de Observium.
Crea una nueva configuración de host virtual‘/etc/apache2/sites-available/observium.conf ‘ utilizando el siguiente comando del editor nano.
sudo nano /etc/apache2/sites-available/observium.conf
Añade la siguiente configuración al archivo y asegúrate de cambiar el nombre del dominio. En este ejemplo se utiliza el dominio local obs.hwdomain.io.
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName obs.hwdomain.io DocumentRoot /opt/observium/html <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /opt/observium/html/> DirectoryIndex index.php Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined ServerSignature On </VirtualHost>
Guarda el archivo y sal del editor cuando hayas terminado.
Ahora activa la configuración del host virtual ‘observium.conf’ mediante el comando a2ensite que aparece a continuación. A continuación, verifica la configuración de Apache2 para asegurarte de que tienes la configuración correcta.
sudo a2ensite observium.conf sudo apachectl configtest
Ahora deberías ver un mensaje de salida como‘Sintaxis OK‘, lo que significa que tu configuración de Apache2 es correcta.
Por último, ejecuta el siguiente comando systemctl para reiniciar el servicio Apache2 y aplicar los nuevos cambios.
sudo systemctl restart apache2
Ahora que ya has configurado el host virtual Apache2. Ya puedes acceder a tu instalación de Observium a través de tu dominio local.
Acceso a Observium a través del navegador web
Después de configurar el host virtual para Observium, ahora accederás a Observium a través del navegador web.
Abre tu navegador web y visita el nombre de dominio local de tu instalación de Observium (es decir: http://obs.hwdomain.io/). Ahora deberías ver la página de inicio de sesión de Observium.
Inicia sesión con tu usuario y contraseña, y haz clic en«Iniciar sesión«.
Ahora deberías ver el panel de administración de Observium. Desde ahí puedes añadir nuevos dispositivos para supervisar el Observium a través de SNMP.
En este punto, has terminado la instalación básica de la Herramienta de Monitorización de Red Observium con la Pila LAMP en un servidor Debian 11. A continuación, realizarás la Detección inicial y la agrupación.
Configurar la detección automática con Cron
Ve al directorio de instalación de Observium y ejecuta el script ‘discovery.php’ y ‘poller.php’ para rellenar los datos de los nuevos dispositivos.
cd /opt/observium
./discovery.php -h all
./poller.php -h all
Después, crea una nueva configuración cron ‘/etc/cron.d/observium’ utilizando el siguiente comando del editor nano.
sudo nano /etc/cron.d/observium
Añade la siguiente configuración al archivo.
# Run a complete discovery of all devices once every 6 hours 33 */6 * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1
# Run automated discovery of newly added devices every 5 minutes
*/5 * * * * root /opt/observium/discovery.php -h new >> /dev/null 2>&1
# Run multithreaded poller wrapper every 5 minutes
*/5 * * * * root /opt/observium/poller-wrapper.py >> /dev/null 2>&1
# Run housekeeping script daily for syslog, eventlog and alert log
13 5 * * * root /opt/observium/housekeeping.php -ysel >> /dev/null 2>&1
# Run housekeeping script daily for rrds, ports, orphaned entries in the database and performance data
47 4 * * * root /opt/observium/housekeeping.php -yrptb >> /dev/null 2>&1
Guarda el archivo y sal del editor cuando hayas terminado.
Con la configuración cron, el autodescubrimiento y el poller se ejecutarán automáticamente en segundo plano.
Conclusión
En este tutorial, has instalado la Herramienta de Monitorización de Red Observium con la pila LAMP (Linux, Apache2, MariaDB y PHP) en un servidor Debian 11. También has configurado el autodescubrimiento para Observium mediante el script cron que has creado.
Con todo esto, ya puedes añadir dispositivos a la Herramienta de Monitorización de Red Observium a través del agente SNMP, añadir un nuevo usuario con un nivel distinto al de administrador, configurar alertas y muchas cosas más.