Cómo instalar Zabbix 6 en Debian 11 Bullseye

En esta ocasión explicamos cómo instalar Zabbix en Debian 11 Bullseye paso a paso, de tal manera que en unos minutos podrás tener en marcha la plataforma Zabbix Server con la interfaz web Zabbix Frontend sobre tu servidor o VPS Debian, monitorizado a su vez a través de Zabbix Agent.

Antes de instalar Zabbix 6 en Debian 11 Bullseye

Para poder seguir los pasos de esta guía de instalación y configuración de Zabbix en Debian 11 Bullseye será imprescindible partir del siguiente escenario:

  • Un servidor Debian 11 Bullseye actualizado.
  • Un entorno o pila tipo LAMP, es decir, servicio web con PHP y bases de datos (MariaDB 10.5 ó superior, PostgreSQL 13 ó superior).
  • Acceso a línea de comandos con permisos de sudo.
  • Conexión a Internet.
  • Opcionalmente, una segunda máquina Debian 11 para monitorizarla remotamente con el agente Zabbix.

Si no dispones aún del entorno necesario puede ser interesante consultar antes de continuar nuestra guía de instalación de la pila LAMP en Debian 11 Bullseye y/o la guía de instalación de PostgreSQL en Debian 11 Bullseye.

Una vez todo listo, es hora de ajustar la altura correcta de nuestra mesa de trabajo e ir abriendo una terminal de consola.

Cómo configurar el repositorio de Zabbix 6 para Debian 11

Vamos a instalar el repositorio oficial de Zabbix 6 para Debian 11 Bullseye descargando un paquete .deb desde el sitio oficial:

~$ wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-1+debian11_all.deb

Instalamos el paquete con dpkg:

~$ sudo dpkg -i zabbix-release_6.0-1+debian11_all.deb

Y actualizamos la información de los repositorios para incluir la nueva lista de paquetes:

~$ sudo apt update

Cómo instalar Zabbix 6 en Debian 11 Bullseye

Para instalar Zabbix en Debian 11 Bullseye elegiremos la combinación de paquetes que se adecúen a las características del sistema; por ejemplo, para un entorno con el servicio web Apache y el motor de bases de datos MariaDB:

~$ sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

Si usas Nginx sustituye el paquete zabbix-apache-conf por zabbix-nginx-conf y si trabajas con PostgreSQL sustituye zabbix-server-mysql por zabbix-server-pgsql.

Por otro lado, Zabbix Frontend necesita la presencia del juego de caracteres en_US.utf8, que por defecto no suele estar presente, así que reconfiguraremos el paquete locales:

~$ sudo dpkg-reconfigure locales

Un pequeño configurador nos permitirá seleccionar los juegos de caracteres que añadir:

dependencias de zabbix en debian 11 bullseye

En cuanto al juego de caracteres por defecto no hay problema en mantener el que teníamos previamente configurado.

En este momento tenemos dos nuevos servicios en Debian 11 Bullseye, los servicios zabbix-agent y zabbix-server.

El servicio zabbix-agent queda en ejecución y habilitado para su inicio automático y podemos comprobar su estado fácilmente con systemctl:

~$ systemctl status zabbix-agent

como instalar zabbix agent en debian 11 bullseye

Por su parte, el servicio zabbix-server está detenido, pero no lo iniciaremos hasta configurarlo y realizar algunos ajustes más.

Para aplicar las nuevas configuraciones del servicio web recargamos la configuración de Apache:

~$ sudo systemctl reload apache2

O de Nginx:

~$ sudo systemctl reload nginx

Base de datos

Zabbix puede trabajar con varios de los servicios de bases de datos más utilizados en Debian 11 Bullseye. Veamos a continuación cómo configurarlos.

MariaDB/MySQL

Conectamos al servicio con el cliente de consola mysql y un usuario administrador:

~$ mysql -u root -p

Creamos la base de datos:

> create database zabbix character set utf8mb4 collate utf8mb4_bin;

Creamos el usuario:

> create user zabbix@localhost identified by 'XXXXXXXX';

Y damos permisos suficientes al usuario sobre la base:

> grant all privileges on zabbix.* to zabbix@localhost;

Ya podemos cerrar la conexión:

> exit

Ahora inicializamos la base de datos con el script adecuado que proporciona Zabbix:

~$ zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix

Tendremos que proporcionar la contraseña del usuario zabbix que acabamos de crear.

PostgreSQL

Creamos un nuevo rol con contraseña:

~$ sudo -u postgres createuser -P zabbix

Y creamos la base de datos asociándola al nuevo rol:

~$ sudo -u postgres createdb zabbix -O zabbix

Inicializamos la base de datos con el script SQL correspondiente proporcionado por Zabbix:

~$ zcat /usr/share/doc/zabbix-sql-scripts/postgresql/server.sql.gz | psql -q -U zabbix zabbix

Habrá que indicar la contraseña del rol zabbix que creamos antes.

Configuración del servicio

Editamos el archivo de configuración de Zabbix Server:

~$ sudo nano /etc/zabbix/zabbix_server.conf

Buscamos la directiva DBPassword:

...
# DBPassword=
...

La activamos eliminando el carácter # al inicio de línea y le damos como valor la contraseña del usuario de la base de datos de Zabbix que acabamos de crear:

...
DBPassword=XXXXXXXX
...

Guardamos el archivo y ya podemos arrancar y habilitar Zabbix Server:

~$ sudo systemctl enable --now zabbix-server

Podemos comprobar que el servicio ha quedado en ejecución:

~$ systemctl status zabbix-server

como instalar zabbix server en debian 11 bullseye

Si algo hubiera ido mal al intentar arrancar el servicio encontraremos información del problema en el registro de Zabbix Server:

~$ tail /var/log/zabbix/zabbix_server.log
...
  ... server #10 started [preprocessing worker #3]
  ... server #9 started [preprocessing worker #2]
  ... enabling Zabbix agent checks on host "Zabbix server": interface became available

En este ejemplo los mensajes del registro son normales.

PHP

Zabbix requiere algunos ajustes en la configuración de este lenguaje de programación, para lo que hay que editar el archivo php.ini; en el caso de trabajar con Apache (sustituye X.X por el número de versión que tengas instalado):

~$ sudo nano /etc/php/X.X/apache2/php.ini

Buscamos las siguientes directivas:

...
max_execution_time = 30
...
max_input_time = 60
...
post_max_size = 8M
...

Y cambiamos sus valores por defecto por los adecuados para Zabbix:

...
max_execution_time = 300
...
max_input_time = 300
...
post_max_size = 16M
...

Ya podemos guardar el archivo.

Zabbix también requiere la presencia de algunas extensiones del lenguaje. En el caso de trabajar con la versión nativa de la distribución estas extensiones ya se habrán instalado como dependencias.

Pero en el caso de trabajar con una versión procedente del repositorio alternativo se habrán instalado las extensiones correspondientes a la última versión estable (la 8.1 en el momento de redactar este artículo), por lo que si trabajas con otra versión habrá que instalar las extensiones correctas de forma manual; por ejemplo, para la versión 8.0:

~$ sudo apt install -y php8.0-bcmath php8.0-gd php8.0-ldap php8.0-mbstring php8.0-xml

Finalmente, recargamos la configuración del servicio web o PHP-FPM, dependiendo del caso:

~$ sudo systemctl reload apache2

Instalador web

Es el momento de acceder al instalador web de Zabbix para Debian 11 Bullseye desde un navegador, construyendo la URL de acceso con la dirección del servidor (IP, nombre DNS, dominio, localhost si accedemos localmente, etc.) y añadiendo la ruta /zabbix.

Por ejemplo, la máquina Debian 11 sobre la que hemos preparado este artículo es accesible en el subdominio debian11.local.lan, así que podemos acceder usando http://debian11.local.lan/zabbix como URL:

instalador web de zabbix 6 para debian 11 bullseye

Tras la página de bienvenida del instalador web pasaremos a la comprobación de requisitos del sistema:

como instalar zabbix 6 en debian 11 bullseye

Si has seguido los pasos anteriores todos los requisitos deberían cumplirse. En caso contrario habrá que solucionar los problemas y volver a intentarlo.

A continuación configuraremos la conexión a la base de datos de Zabbix:

instalar zabbix 6 en debian 11 bullseye

Seleccionaremos el tipo de base de datos adecuado y completaremos los datos de conexión tal como los creamos anteriomente. En el caso de haber usado el nombre de la base de datos y del usuario por defecto, solo habrá que añadir la contraseña de este.

Seguidamente podemos dar un nombre al servidor, configurar la zona horaria y elegir un tema para la interfaz web de Zabbix Frontend:

instalacion de zabbix 6 en debian 11 bullseye

Si no indicamos ningún nombre para el servidor se asignará por defecto «Zabbix server» (que es lo que hemos hecho en este ejemplo).

Antes de guardarse la configuración de la instalación se mostrará un pequeño resumen de la misma:

instalando zabbix 6 en debian 11 bullseye

Al continuar se guarda la configuración y la instalación finaliza:

Ahora se mostrará la página de inicio de sesión a Zabbix Frontend:

Para iniciar sesión usaremos las credenciales del usuario por defecto, nombre Admin y contraseña zabbix.

Entraremos a la sección de visión global de la plataforma, donde encontraremos información de estado:

zabbix 6 en debian 11 bullseye

Podemos ver que existe una máquina monitorizada, la propia máquina local Debian 11 Bullseye donde corre Zabbix Server.

Visitaremos la sección «Monitoring / Hosts» desde el menú del panel lateral y haremos click en el nombre de la máquina mostrado en la lista de máquinas disponibles, de modo que se desplegará un menú contextual:

Elegiremos la opción «Graphs» que nos llevará a una página donde estarán disponibles todas la gráficas de estado de los distintos parámetros monitorizados por defecto en la máquina Debian 11 Bullseye local:

zabbix en debian 11 bullseye

Cómo monitorizar una máquina remota Debian 11 Bullseye en Zabbix Server

Vamos a monitorizar una máquina remota Debian 11 Bullseye con Zabbix Agent desde nuestro servidor Zabbix recién instalado y configurado.

Cómo instalar Zabbix Agent en Debian 11 Bullseye

Para instalar Zabbix Agent en la máquina Debian 11 Bullseye remota instalaremos el repositorio oficial de Zabbix de la misma forma que hicimos con el servidor, tal como explicamos al principio del tutorial. Una vez hecho, instalamos Zabbix Agent para Debian 11:

~$ sudo apt install -y zabbix-agent

Editamos la configuración del agente Zabbix:

~$ sudo nano /etc/zabbix/zabbix_agentd.conf

Y buscamos la directiva Server:

...
Server=127.0.0.1
...

Está configurada para usar la máquina local como sevidor Zabbix (esa es la razón de no haber tenido que configurar el agente en el servidor). Cambiaremos el valor por defecto por la dirección IP o nombre DNS del servidor Zabbix:

...
Server=debian11.local.lan
...

Si configuramos Zabbix Server con algún nombre distinto al valor por defecto, buscaremos la directiva Hostname:

...
Hostname=Zabbix server
...

Y cambiaremos su valor por el que corresponda.

Guardado el archivo, reiniciaremos el agente (que había iniciado automáticamente tras la instalación):

~$ sudo systemctl restart zabbix-agent

Podemos comprobar que el servicio está funcionando correctamente con el comando systemctl:

~$ systemctl status zabbix-agent

como configurar zabbix en debian 11 bullseye

Finalmente, en caso de tener activado el firewall UFW habrá que añadir una regla para permitir la conexión al puerto 10050/TCP local:

~$ sudo ufw allow 10050/tcp

Cómo configurar la máquina remota Debian 11 en Zabbix Server

De vuelta en el servidor, vamos a configurar la máquina remota Debian 11 Bullseye en Zabbix Server para añadirla a la lista de máquinas monitorizadas.

Accedemos a la sección «Configuration / Hosts«:

configurar zabbix en debian 11 bullseye

Con el botón «Create host» abriremos el formulario de creación de configuración de la máquina remota. Este formulario contiene varios apartados, aunque el que se abre por defecto, «Hosts«, basta para una configuración básica:

configuracion de zabbix en debian 11 bullseye

Introduciremos el nombre de la máquina, una o más plantillas, uno o más grupos y una interfaz de conexión a la máquina remota.

Las plantillas añaden un conjunto de funcionalidades, gráficos predeterminados, etc. Podemos seleccionar el grupo «Templates/Operating systems» y dentro de este la plantilla «Linux by Zabbix agent«.

Como grupo podemos elegir «Linux servers«.

Para crear la interfaz de conexión usamos «Add«, elegimos el tipo «Agent» e indicamos la dirección IP o nombre DNS de la máquina Debian 11 remota seleccionando el tipo de conexión.

Ya podemos terminar usando el botón «Add» a pie del formulario.

Ahora, en la misma página de configuración de máquinas, aparecerá en la lista la máquina Debian 11 que acabamos de añadir.

Visitaremos la sección «Monitoring / Hosts» y actuaremos sobre el nombre de la máquina remota para desplegar el menú contextual:

Seleccionando «Graphs» iremos a la página de gráficas correspondiente donde, si ha transcurrido suficiente tiempo, ya empezarán a mostrar datos:

como monitorizar debian 11 bullseye en zabbix

¡Así de fácil es instalar y configurar Zabbix 6 en Debian 11 Bullseye»

Conclusión

Ahora que sabes cómo instalar y configurar Zabbix 6 en Debian 11 Bullseye ya puedes monitorizar sistemas, dispositivos, servidores, etc. en red de forma visual gracias a la potente interfaz web de esta plataforma.

Si te ha surgido alguna duda o pregunta durante la instalación, quieres notificar algún error, realizar alguna sugerencia, etc. puedes dejar un comentario. Los comentarios se moderan para evitar SPAM, pero se revisan prácticamente a diario.

Y si esta plataforma ya funciona en tu propia red y quieres agradecérnoslo, siempre es bienvenida cualquier pequeña aportación al mantenimiento de este sitio y la creación de más artículos y tutoriales.

Puedes ayudarnos dejando una propina de tan solo 1 $ con PayPal:

¡Gracias!

5/5 - (1 voto)

Deja un comentario

Este sitio esta protegido por reCAPTCHA y laPolítica de privacidady losTérminos del servicio de Googlese aplican.

El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.