Zabbix es un software de monitoreo de infraestructura bajo licencia GPLv3, muy popular y con muchas funcionalidades desarrollado en PHP.

Se utiliza para monitorear redes, servidores, aplicaciones, servicios y recursos en la nube. También permite el monitoreo de dispositivos de almacenamiento, bases de datos, máquinas virtuales, telefonía, recursos de seguridad y mucho más.

Para los desarrolladores, Zabbix ofrece una API que brinda acceso a casi todas las funciones disponibles en la web. Admite una fácil integración bidireccional con cualquier software y permite utilizar la API para integrar las funciones de Zabbix a software de terceros.

Pasos previos

En este tutorial vamos a instalar la última versión de Zabbix en Debian 11 y para poder seguir con este tutorial es necesario tener instalado un servidor LAMP en Debian 11.

Instalación de servidor web LAMP en Debian 11
A continuación vamos a instalar un servidor LAMP completo en Debian GNU/Linux 11 «Bullseye» (Stable). Hay algunas cosas que han cambiado respecto a otras versiones de Debian, y es que por ejemplo Debian 11 trae en sus repositorios PHP 7.4.

Para PHP es necesario tener instaladas estas librerías:

apt install php7.4-mysql php7.4-mysqlnd php7.4-ldap php7.4-bcmath php7.4-mbstring php7.4-gd php7.4-pdo php7.4-xml libapache2-mod-php

Creamos la base de datos para Zabbix

Lo primero crearemos la base de datos, para ello tenemos que crear un usuario una base de datos y otorgarle privilegios. Para ello seguiremos este tutorial:

Crear base de datos y usuario con privilegios en MySQL/MariaDB
En el siguiente tutorial vamos ha explicar como crear una base de datos y un usuario para asignar permisos totales a esa base de datos. Acceder a MySQL/MariaDB Para gestionar bases de datos o usuarios, deberemos de acceder a la shell de MySQL/MariaDB. Existen programas como phpMyAdmin de
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'admin@monit1'

Añadimos repositorio e instalamos Zabbix

Para instalar Zabbix, tendremos que añadir el repositorio para instalar la versión 5.4 de Zabbix:

wget --no-check-certificate https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian11_all.deb
dpkg -i zabbix-release_5.4-1+debian11_all.deb
apt update

Y procedemos a instalar los paquetes necesarios:

apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

Configuración de Zabbix

Para la configuración de Zabbix, lo siguiente será importar la base de datos, para ello:

zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix

A continuación editamos el fichero de configuración /etc/zabbix/zabbix_server.conf añadiendo lo siguiente:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=admin@monit1

Guardamos y continuamos configurando Apache.

Editamos el fichero /etc/zabbix/apache.conf y modificamos el TimeZone con nuestra hora de nuestra zona.

php_value date.timezone Europe/Madrid

Guardamos y reiniciamos los servicios.

systemctl reload apache2
systemctl start zabbix-server zabbix-agent
systemctl enable zabbix-server zabbix-agent
📢
Recuerda que tienes que tener habilitado en tu Firewall los puertos 80 y 443.

Configuramos Zabbix desde la interfaz web

Ahora es el momento de acceder a nuestro Zabbix desde el navegador, para ello escribiremos http://IP_DEL_SERVIDOR/zabbix para acceder:

Seleccionamos nuestro idioma y seguimos.

Revisamos que está todo configurado correctamente y seguimos.

Rellenamos los datos con nuestra base de datos y seguimos.

Configuramos un nombre para nuestro Zabbix. Dejamos el puerto por defecto y continuamos.

Selecionamos la TimeZone y tema para Zabbix -a mi me gusta oscuro-.

Revisamos y continuamos.

Y listo, fichero de configuración creado y ya tenemos acceso a Zabbix. Nos loguemos con el usuario Admin y la contraseña zabbix.

🚨
Es recomendable crear un usuario nuevo administrador y desactivar el usuario admin.

Podemos cambiar la contraseña de acceso en Administration - Users y hacemos clic sobre el usuario Admin.

Podemos hacer clic sobre el botón Change password y modificamos la contraseña de acceso, de todas formas, recomiendo crear un usuario nuevo con los mismos permisos.