Zabbix 5.0 (LTS) como solución de monitorización.

Por Víctor Aracil - octubre 31, 2020





Vamos a ver cómo implementar un sistema de monitorización open source dentro de un entorno virtualizado. Para ello, he creado un laboratorio Proxmox para mostrar cómo resultaría en un entorno en producción. Puede que en futuras entradas explique cómo instalé y configuré esta plataforma de virtualización, clúster, alta disponibilidad...

¿Qué es Zabbix?.

Zabbix es una herramienta de monitorización de red de código abierto sin versiones de pago, que es capaz de monitorizar cientos de máquinas y ejecutar miles de chequeos por host. Nada tiene que envidiarle a otras soluciones mucho más costosas, como por ejemplo Nagios.
Se administra completamente a través de la interfaz gráfica. Muy útil tanto para pequeños como grandes entornos de red.

Por estabilidad y rendimiento cuando se monitoriza un gran entorno de producción, se recomienda utilizar CentOS como sistema operativo base. Esta MV (Máquina Virtual)no ofrecerá ningún otro servicio por su alto consumo de recursos.

Zabbix funciona en un modelo Cliente/Servidor, en el cual el servidor se comunica con los agentes de software de monitorización disponibles para varios sistemas operativos. También puede funcionar sin un agente mediante el protocolo de SNMP (Simple Network Management Protocol), pero no se capturarían tantos datos como en la monitorización del agente de Zabbix, por lo que son una gran opción para los servidores Proxmox.
 

Instalación de Zabbix en CentOs7.

El servidor Zabbix 5.0 depende de las aplicaciones Apache 1.3.12, PHP 7.2.0 y
MySQL/MariaDB 10.0.3.

Se habilita el repositorio y se instala el paquete de configuración del repositorio, para obtener el servidor Zabbix, el agente y la interfaz:

yum install -y centos-release-scl
Rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

Instalación del servidor Zabbix con el paquete de soporte de base de datos
MySQL/MariaDB:
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl zabbix-server-mysql zabbix-agent --enablerepo=zabbix-frontend

Para comenzar a usar Apache con el servidor Zabbix, el archivo de configuración de Zabbix ‘/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf’ debe actualizarse con la zona horaria, descomentando y modificarndo la línea ‘php_value[date.timezone] = Europe/Madrid’
 
Instalación y creación de la base de datos de MariaDB 10.4:
yum install -y mariadb-server mariadb
 
Se levanta el servicio,
systemctl start mariadb
y después de configurar el archivo de seguridad de MariaDB (mysql_secure_installation) se crea una base de datos con el cotejamiento/caracteres adecuados, y un usuario/contraseña con privilegios para la instalación de Zabbix: 
 
mysql -u root -p 
create database zabbixdb character set utf8 collate utf8_bin;  
create user zabbixuser@localhost identified by ‘122112’; 
grant all privileges on zabbixdb.* to zabbixuser@localhost identified by ‘122112’;
  
Ahora le damos al instalador la estructura que necesita, cargando el archivo SQL:
cd /usr/share/doc/zabbix-server-mysql-5.0.1/
zcat create.sql.gz | mysql -u zabbixuser -p zabbixdb 
 
Configuro los detalles de la base de datos en el archivo de configuración del servidor:

DBHost=localhost
DBName=zabbixdb
DBUser=zabbixuser
DBPassword=122112

 
Se reinician todos los servicios y se habilita el inicio automático en el reinicio del
sistema:
 
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

La distribución CentOS incorpora por defecto, además del control de acceso a los
permisos tradicionales de UNIX: Propietario, Grupo y Otros; Lectura, Escritura y
Ejecución, un módulo de seguridad para el núcleo Linux SELinux (Security-Enhanced
Linux), que añade mecanismos de control de acceso a procesos, puertos, archivos y
directorios. De esta manera se protege al sistema operativo contra amenazas externas o
internas, para evitar agujeros de seguridad en aplicaciones, incluso si aún son
desconocidos.

Se habilita la conexión de la interfaz web de Zabbix al servidor con el comando, de lo
contrario el servidor no se levantará:
yum install -y policycoreutils-python
setsebool -P httpd_can_connect_zabbix on
 
Para la configuración de Zabbix desde la interfaz web, se verifica que tanto los prerrequisitos y la configuración de la conexión a la base de datos ‘zabbixdb’ sean correctos. Se descarga el archivo de configuración generado .php y se mueve a la ruta correspondiente. La interfaz de Zabbix se ha instalado con éxito.
 


Interfaz gráfica de Zabbix 5.0. 




Instalar el agente Zabbix en la VM Ubuntu.

 
Se requiere la instalación del agente Zabbix en la VM que queramos (Ubuntu en mi caso) para poder ser monitorizada por el servidor. Para realizar esta tarea hay que seguir los siguientes pasos desde la línea de comandos de Ubuntu:
 
Descarga del paquete oficial correspondiente a la versión 5.0.3 de Ubuntu 20.02 LTS: 
wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pcp/pcp -export-zabbix-agent_5.0.3-1_amd64.deb 
Instalación del paquete:
dpkg -i pcp-export-zabbix-agent_5.0.3-1_amd64.deb
 
Actualización de paquetes e instalación del agente Zabbix:
sudo apt-get update
sudo apt-get install zabbix-agent 

Se edita el archivo de configuración /etc/zabbix/zabbix_agentd.conf actualizando la IP del servidor Zabbix y el hostname:

Server=192.168.2.11 // servidor Zabbix en CentOs7
HostnameItem=system.hostname // elemento utilizado para generar el
hostname si este no está definido
(#hostname=ubuntu.proyectovictor.com).

Para finalizar se reinicia el agente Zabbix:
sudo systemctl enable zabbix-agent

sudo systemctl start zabbix-agent
 

Añadir la VM Ubuntu para ser monitorizada por Zabbix.

Desde la interfaz del servidor Zabbix instalado en la VM CentOS se realizan los siguientes pasos:

-Ir a Configuración | Hosts y darle clic a Create Host.

El Hostname ‘ubuntu.proyectovictor.com’ debe coincidir con el del archivo de configuración del agente Zabbix en la VM Ubuntu.

Visible name puede ser cualquier nombre.
 
Para Group se elige ‘Virtual machines’.

Se añade la IP ‘192.168.2.12’ del agente en Interfaces. Por defecto, el agente escucha por      el puerto 10050. Como en mi configuración, esta MV está detrás del cortafuegos pfSense, se 
deberá abrir el puerto desde Firewall/NAT/Port Forward.


Página de configuración del host: 




Se añade al host una plantilla con un grupo preconfigurado de chequeos, desde Template/ Select/ ‘Template OS Linux by Zabbix agent’. Ahora se actualizan los cambios y ya tenemos añadida la VM Ubuntu al servidor Zabbix para ser monitoreada.


MV Ubuntu añadida a Zabbix.
                                                                                





Si seleccionamos Automatic desde configuración/hosts/inventory el agente de Zabbix puede extraer información relevante acerca de la VM Ubuntu: 
 
Zabbix utiliza una herramienta gráfica que recoge los datos del host. Por ejemplo, aquí se puede ver el consumo de CPU en Ubuntu:






Os dejo un vídeo acelerado mostrando y explicando los pasos de la instalación:







  • Comparte:

Puede que también te guste

0 Reviews

Vuelve arriba