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

actualizar repo

Ahora instala PostgreSQL con el siguiente comando. Introduce ‘Y’ para confirmar la instalación.

sudo apt install postgresql postgresql-contrib

instalar postgresql

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

comprobar servidor 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

crear base de datos y usuario

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

añadir repo

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.

instalar zabbix

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

configurar postgresql y nginx

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

activar zabbix

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.

zabbix-server en marcha

Así como que el ‘zabbix-agent’ también se está ejecutando.

zabbix-agent se está ejecutando

A continuación puedes ver que el servicio ‘nginx’ se está ejecutando.

nginx se está ejecutando

Por último, puedes ver que el servicio ‘php8.2-fpm’ se está ejecutando en tu servidor.

php-fpm se está ejecutando

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.

lenguaje zabbix

Durante la comprobación previa, asegúrate de que la configuración de tu servidor cumple los requisitos de Zabbix.

comprobación del sistema

Ahora selecciona la base de datos como ‘PostgreSQL’ e introduce los detalles de tu base de datos.

configuración de postgresql

Introduce el nombre de tu servidor y selecciona la zona horaria por defecto para Zabbix.

zona horaria y nombre del servidor

Comprueba todo antes de continuar y haz clic en«Siguiente paso«.

comprobar configuración

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.

éxito de 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«.

página de acceso

Si todo va bien, verás el siguiente panel de administración de Zabbix.

salpicadero

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.

También te podría gustar...