Cómo instalar Zabbix en un servidor Debian 12
Zabbix es una solución de monitorización gratuita y de código abierto para infraestructuras informáticas. Te permite supervisar redes, servidores, máquinas virtuales y servicios en la nube. Zabbix ofrece un modelo cliente/servidor. Puedes instalar fácilmente el agente de Zabbix en el servidor de destino y supervisarlo a través del panel de control de Zabbix. Zabbix también admite protocolos de supervisión genéricos como SNMP e IPMI.
Esta guía te mostrará cómo instalar la Solución de Monitorización Zabbix en un servidor Debian 12. Instalarás Zabbix con PostgreSQL como servidor de base de datos, servidor web Nginx y PHP-FPM.
Requisitos previos
Para empezar con esta guía, asegúrate de que tienes lo siguiente:
- Un servidor Debian 12
- Un usuario no root con usuario administrador
Instalación del servidor PostgreSQL
Por defecto, Zabbix soporta RDBMS como MySQL y PostgreSQL. En esta guía, utilizarás PostgreSQL como base de datos de instalación de Zabbix. Así que, por ahora, instalarás PostgreSQL desde el repositorio de Debian con el gestor de paquetes APT.
Primero, ejecuta el comando ‘apt’ que aparece a continuación para actualizar el índice de paquetes de Debian.
sudo apt update
Ahora instala PostgreSQL con el siguiente comando. Introduce ‘Y’ para confirmar la instalación.
sudo apt install postgresql postgresql-contrib
Una vez finalizada la instalación, comprueba el estado del servicio ‘postgresql’ para asegurarte de que se está ejecutando. Verás el PostgreSQL con el estado ‘running(exited)’, lo que significa que el servicio se está ejecutando, pero el systemd no puede encontrar ningún demonio que monitorizar.
sudo systemctl is-enabled postgresql sudo systemctl status postgresql
Crear base de datos y usuario PostgreSQL
Después de instalar PostgreSQL, debes crear un nuevo usuario y base de datos para Zabbix. En este paso, utilizarás el comando ‘createuser’ para crear un nuevo rol en PostgreSQL y el comando ‘createdb’ para crear la base de datos PostgreSQL.
Para crear un nuevo usuario PostgreSQL ‘zabbix’, ejecuta el siguiente comando. Ahora introduce la contraseña de tu usuario de base de datos y repite cuando se te pida.
sudo -u postgres createuser --pwprompt zabbix
Ahora ejecuta el siguiente comando para crear una nueva base de datos ‘zabbix’ con el propietario por defecto ‘zabbix’. Esta base de datos y este usuario se utilizarán para la instalación de Zabbix.
sudo -u postgres createdb -O zabbix zabbix
Instalar Zabbix
Ahora que has instalado y configurado PostgreSQL, vamos a añadir el repositorio de Zabbix, e instalar los paquetes de Zabbix como ‘zabbix-frontend-php’, ‘zabbix-server-pgsql’, y ‘zabbix-agent’. Además, esto instalará automáticamente el servidor web Nginx y PHP-FPM, que serán utilizados por el front-end de Zabbix.
Descarga el repositorio de Zabbix para el sistema Debian con el siguiente comando. En este ejemplo, instalarás Zabbix 7.2 en tu servidor Debian. Una vez descargado, el archivo ‘zabbix-release_latest_7.2+debian12_all.deb’ estará disponible en tu directorio de trabajo actual.
wget https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.2+debian12_all.deb
Ahora ejecuta el siguiente comando ‘dpkg’ para añadir el repositorio de Zabbix a tu sistema.
sudo dpkg -i zabbix-release_latest_7.2+debian12_all.deb
Después, ejecuta el siguiente comando ‘apt’ para actualizar tu repositorio Debian e instalar el servidor Zabbix. En este ejemplo, instalarás Zabbix y el Agente Zabbix con la base de datos PostgreSQL, el servidor web Nginx y PHP-FPM.
sudo apt update sudo apt install zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
Introduce ‘Y’ para proceder con la instalación.
Integración de Zabbix con PostgreSQL
Ahora que ya has instalado los paquetes de Zabbix, el siguiente paso es integrar Zabbix con el servidor de base de datos PostgreSQL. Para ello, tienes que importar el esquema de la base de datos de Zabbix y modificar las credenciales de PostgreSQL dentro del archivo ‘/etc/zabbix/zabbix_server.conf’.
Importa el esquema de base de datos para Zabbix a la base de datos ‘zabbix’ con el usuario ‘zabbix’. Introduce tu contraseña ‘zabbix’ cuando se te solicite.
zcat /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
A continuación, abre la configuración de Zabbix ‘/etc/zabbix/zabbix_server.conf’ con el editor ‘nano’.
sudo nano /etc/zabbix/zabbix_server.conf
Descomenta los valores predeterminados ‘DBHost’, ‘DBName’, ‘DBUser’ y ‘DBPassword’ con tus credenciales PostgreSQL.
DBHost = localhost DBName = zabbix DBUser = zabbix DBPassword = password
Guarda el archivo y sal del editor cuando hayas terminado.
Configurar el servidor web Nginx
Ahora que has integrado Zabbix con PostgreSQL, vamos a configurar el servidor web Nginx. Por defecto, la configuración de Nginx para Zabbix está disponible en el archivo ‘/etc/zabbix/nginx.conf’, y ahora necesitas modificarlo cambiando el nombre de dominio por defecto y cambiar el puerto por defecto para Zabbix (opcional).
Abre la configuración de Nginx ‘/etc/zabbix/nginx.conf’ para la integración de Zabbix con el editor ‘nano’.
sudo nano /etc/zabbix/nginx.conf
Cambia la opción ‘listen’ por defecto al puerto ‘8080’. En este ejemplo, ejecutaremos Zabbix con el servidor web Nginx en el puerto ‘8080’.
listen 8080;
Cambia la opción ‘nombre_servidor’ por el nombre de tu dominio. En este ejemplo, utilizaremos el nombre de dominio local que puedes crear mediante el archivo «/etc/hosts».
server_name zabbix.howtoforge.local;
Guarda el archivo y sal del editor cuando hayas terminado.
Por último, ejecuta el comando ‘nginx’ que aparece a continuación para verificar tu configuración de Nginx. Si has corregido la configuración de Nginx, verás una salida como ‘syntax is ok – test is successful’.
sudo nginx -t
Reiniciar los servicios de Zabbix
Llegados a este punto, ya has instalado los paquetes de Zabbix e integrado Zabbix con el servidor PostgreSQL y el servidor web Nginx. Ahora tienes que reiniciar cada servicio de Zabbix para aplicar todos tus cambios, y luego tienes que comprobar cada servicio de Zabbix para asegurarte de que se está ejecutando.
En primer lugar, ejecuta el siguiente comando «systemctl» para habilitar los servicios «zabbix-server», «zabbix-agent», «nginx» y «php8.2-fpm».
sudo systemctl enable zabbix-server zabbix-agent nginx php8.2-fpm
Ahora ejecuta el siguiente comando para reiniciar los servicios de Zabbix y aplicar tus nuevos cambios a Zabbix.
sudo systemctl restart zabbix-server zabbix-agent nginx php8.2-fpm
Por último, comprueba esos servicios de Zabbix con el siguiente comando para asegurarte de que el servicio se está ejecutando.
sudo systemctl status zabbix-server zabbix-agent nginx php8.2-fpm
A continuación puedes ver que ‘zabbix-server’ se está ejecutando.
Así como que el ‘zabbix-agent’ también se está ejecutando.
A continuación puedes ver que el servicio ‘nginx’ se está ejecutando.
Por último, puedes ver que el servicio ‘php8.2-fpm’ se está ejecutando en tu servidor.
Asistente de instalación de Zabbix
Con todos los servicios de Zabbix en ejecución, ya puedes acceder a tu instalación de Zabbix.
En tu ordenador local, edita el archivo ‘/etc/hosts’ utilizando tu editor de texto. Asegúrate de utilizar privilegios de administrador. Para usuarios de Windows, puedes modificar ‘C:\Windows\System32\drivers\etc\hosts’ como administrador.
Dentro del archivo ‘hosts’, define la dirección IP y el nombre de dominio de tu servidor Zabbix como se indica a continuación:
192.168.10.10 zabbix.howtoforge.local
Guarda el archivo y sal del editor.
Ahora abre tu navegador web y visita http://zabbix.howtoforge.local:8080/. Si la instalación de Zabbix se ha realizado correctamente, verás el asistente de instalación de Zabbix.
Selecciona tu idioma por defecto para Zabbix y haz clic en«Siguiente paso» para continuar.
Durante la comprobación previa, asegúrate de que la configuración de tu servidor cumple los requisitos de Zabbix.
Ahora selecciona la base de datos como ‘PostgreSQL’ e introduce los detalles de tu base de datos.
Introduce el nombre de tu servidor y selecciona la zona horaria por defecto para Zabbix.
Comprueba todo antes de continuar y haz clic en«Siguiente paso«.
Una vez finalizada la instalación, verás un mensaje como«¡Enhorabuena! Has instalado correctamente el frontend de Zabbix‘.
Haz clic en«Finalizar» para completar la instalación.
Ahora serás redirigido a la página de inicio de sesión de Zabbix. Introduce el usuario Admin y la contraseña zabbix, y haz clic en«Iniciar sesión«.
Si todo va bien, verás el siguiente panel de administración de Zabbix.
Conclusión
¡Enhorabuena! Has completado la instalación de la Solución de monitorización Zabbix en el servidor Debian 12. Has puesto en marcha Zabbix con el servidor de base de datos PostgreSQL, el servidor web Nginx y PHP-FPM. También tienes ‘zabbix-agent’ ejecutándose en tu servidor que monitorizará tu instancia de Zabbix. A partir de aquí, ahora puedes añadir un nuevo host de destino para monitorizar Zabbix configurar notificaciones a través de múltiples servicios, y luego monitorizar tus servicios a través de Zabbix.