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.

instalar LAMP

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.

comprobar mariadb

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;

crear base de datos

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«.

verificar privilegios de usuario

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.

comprobar apache2

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.

phpinfo

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}

configurar observium

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 archivoconfig.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.

migrar base de datos

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.

crear usuario observium

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.

configurar apache2

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«.

observium inicio de 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.

salpicadero observium

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.

También te podría gustar...