Cómo instalar Zabbix 6 en Ubuntu 20.04 LTS

En este artículo veremos cómo instalar Zabbix en Ubuntu 20.04 LTS Focal Fossa paso a paso, tanto Zabbix Server como Zabbix Frontend y Zabbix Agent, para que puedas monitorizar tu servidor o VPS Ubuntu y todas las máquinas remotas que necesites.

Antes de instalar Zabbix en Ubuntu 20.04 LTS

Para poder seguir los pasos de esta guía de instalación de Zabbix en Ubuntu 20.04 LTS deberás cumplir estos requisitos mínimos:

  • Una o más máquinas Ubuntu 20.04 LTS Focal Fossa actualizadas.
  • El entorno o pila LAMP (servicio web con PHP y servicio de bases de datos MariaDB 10.5 ó superior) en la máquina que actuará como servidor Zabbix.
  • Un usuario con permisos de sudo.
  • Acceso a Internet.

En caso de no disponer del entorno adecuado es posible que te interese consultar nuestra guía de instalación de la pila LAMP en Ubuntu 20.04 LTS.

Cómo instalar el repositorio de Zabbix en Ubuntu 20.04 LTS

Para trabajar con la última versión estable de este software, instalaremos el repositorio oficial de Zabbix para Ubuntu 20.04 LTS, así que descargaremos el paquete que configura dicho repositorio.

Instalaremos el repositorio de Zabbix 6 en todas las máquinas Ubuntu 20.04 LTS, tanto en la que actuará como servidor Zabbix como en las máquinas que queremos monitorizar remotamente desde dicho servidor

~$ wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb

Y lo instalamos con la herramienta dpkg:

~$ sudo dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb

Actualizamos la información de los repositorios para incluir los nuevos paquetes de Zabbix:

~$ sudo apt update

Cómo instalar Zabbix Server en Ubuntu 20.04 LTS

Para instalar Zabbix Server en Ubuntu 20.04 LTS seleccionaremos los paquetes de Zabbix Server para el motor de bases de datos que nos interese, Zabbix Frontend, la configuración del servidor web con el que trabajemos y el agente Zabbix. Por ejemplo, para un entorno LAMP con Apache, PHP y MySQL esta sería la selección adecuada de paquetes:

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

Disponemos también del paquete zabbix-server-pgsql para PostgreSQL y zabbix-nginx-conf para Nginx.

Base de datos

En el caso de trabajar con MariaDB/MySQL conectamos con el cliente de consola mysql y un usuario administrador para preparar la base de datos:

~$ mysql -u root -p

Creamos la base de datos atendiendo al juego de caracteres requerido por Zabbix 6:

> create database zabbix character set utf8mb4 collate utf8mb4_bin;

En MariaDB o MySQL 5 creamos el usuario así:

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

Mientras que en MySQL 8 lo crearíamos indicando además el plugin de autenticación compatible:

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

Damos los permisos necesarios al usuario sobre la base:

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

Y salimos del cliente:

> exit

Ahora tendremos que inicializar la nueva base de datos a partir de un script SQL proporcionado por el paquete de Zabbix, usando el usuario y contraseña que acabamos de crear:

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

Configuración de Zabbix Server

Tras la instalación de Zabbix Server se ha creado un nuevo servicio en Ubuntu 20.04 LTS, el servicio zabbix-server.service o zabbix-server, que no queda en ejecución ni habilitado para su inicio automático con el sistema.

Esto se debe a que tenemos que configurar Zabbix Server para que utilice la contraseña de acceso a la base de datos:

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

Buscamos la directiva DBPassword:

...
### Option: DBPassword
#       Database password.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
# DBPassword=
...

Aparece la sección, pero no la directiva, que añadiremos manualmente con el valor de la contraseña del usuario de la base de datos, tal como la creamos anteriormente:

...
# DBPassword=

DBPassword=XXXXXXXX
...

Ahora podemos arrancar el servicio zabbix-server:

~$ sudo systemctl start zabbix-server

Podemos comprobar que el servicio está en funcionamiento con el comando systemctl status zabbix-server:

como instalar zabbix 6 en ubuntu 20.04 lts focal fossa

Si queremos que el servicio Zabbix Server inicie automáticamente con cada arranque de Ubuntu 20.04 LTS, tendremos que habilitarlo también con systemctl:

~$ sudo systemctl enable zabbix-server

Servicio Zabbix Agent

Otro servicio que se ha creado durante la instalación es zabbix-agent, correspondiente al agente Zabbix que monitorizará el sistema local y que, a diferencia de Zabbix Server, sí queda en ejecución, como podemos comprobar con el comando systemctl status zabbix-agent:

instalar zabbix en ubuntu 20.04 lts focal fossa

Para que el agente Zabbix inicie automáticamente junto a Ubuntu 20.04, habrá que habilitar el servicio:

~$ sudo systemctl enable zabbix-agent

Servicio web

Durante la instalación se han añadido archivos de configuración de Zabbix Frontend para el servidor web, por lo que tendremos que recargar la configuración de este servicio para aplicar los nuevos ajustes:

~$ sudo systemctl reload apache2

PHP

Al instalar los paquetes de Zabbix para Ubuntu 20.04 LTS como dependencia se instalan también algunas extensiones de PHP. Si usas la versión incluida en la distribución no habrá que hacer nada más, pero si usas el repositorio alternativo seguramente se instalarán extensiones incorrectas. En este caso nos aseguraremos de instalar las extensiones correctas; por ejemplo, para la versión 8.0:

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

Por otro lado, la instalación de Zabbix requiere algunos ajustes de PHP que realizaremos en el archivo php.ini:

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

Buscaremos las directivas siguientes y nos aseguraremos de que sus valores sean al menos los mostrados:

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

Guardamos los cambios y recargamos la configuración del servicio web (o del servicio PHP, según corresponda):

~$ sudo systemctl reload apache2

Instalación de Zabbix Frontend en Ubuntu 20.04 LTS

Accedemos al instalador web de Zabbix Frontend en Ubuntu 20.04 LTS desde un navegador añadiendo la ruta /zabbix a la dirección IP o nombre DNS del servidor.

Por ejemplo, el servidor Ubuntu 20.04 LTS sobre el que instalamos Zabbix 6 en este tutotrial es accesible en el subdominio ubuntu2004.local.lan, por lo que emplearemos http://ubuntu2004.local.lan/zabbix como URL de acceso:

como instalar zabbix server 6 en ubuntu 20.04 lts focal fossa

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

instalar zabbix server 6 en ubuntu 20.04 lts focal fossa

Si has seguido los pasos anteriores, se cumplirán todos los requisitos y podrás continuar con el proceso de instalación.

Es el momento de configurar la conexión a la base de datos:

instalacion de zabbix server 6 en ubuntu 20.04 lts focal fossa

Seleccionamos el tipo de bases de datos en el desplegable, e introducimos el nombre de la base de datos, del usuario y su contraseña.

También tendremos que indicar un nombre para el servidor Zabbix, elegir la zona horaria del servicio y podremos elegir el tema para la interfaz web:

Si no indicamos nombre para el servidor se asignará «Zabbix server«.

No suele ser necesario modificar la zona horaria si la hora del servidor y la configuración de PHP son las adecuadas.

Una vez terminada de configurar la instalación, se mostrará un pequeño resumen con los valores que se utilizarán:

instalando zabbix server 6 en ubuntu 20.04 lts focal fossa

La instalación termina y se nos informa de la ubicación del archivo de configuración que se ha creado:

Al terminar el proceso de instalación de Zabbix Frontend, se muestra la página de inicio de sesión:

zabbix para ubuntu 20.04 lts focal fossa

El usuario administrador por defecto es Admin, y su contraseña es zabbix.

Tras iniciar sesión la aplicación abre la página principal, «Monitoring / Dashboard«, donde podremos ver un resumen del estado del servicio, así como la única máquina monitorizada (la máquina local):

zabbix 6 en ubuntu 20.04 lts focal fossa

Si queremos ver más información sobre el estado de la máquina local, visitaremos la sección «Monitoring / Hosts» y abriremos un menú contextual pulsando sobre «Zabbix Server» en la lista de sistemas monitorizados:

Entre las varias opciones disponibles, seleccionamos «Graphs» y se mostrará una página con los gráficos de actividad de todos los servicios monitorizados de la máquina local:

zabbix server 6 en ubuntu 20.04 lts

Cómo instalar Zabbix Agent en Ubuntu 20.04 LTS

Es el momento de instalar el agente Zabbix (o Zabbix Agent) en las máquinas remotas Ubuntu 20.04 LTS, en las que previamente hemos configurado el repositorio de Zabbix 6:

~$ sudo apt install -y zabbix-agent

Se creará un nuevo servicio zabbix-agent.service, o simplemente zabbix-agent, que queda en ejecución y habilitado.

Configurar Zabbix Agent en Ubuntu 20.04 LTS

Para configurar Zabbix Agent en Ubuntu 20.04 LTS editamos su archivo de configuración:

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

Buscamos la directiva Server:

...
Server=127.0.0.1
...

Está configurada con el valor de la máquina local (ese es el motivo de que el agente Zabbix funcione sin configuración en el servidor Zabbix). Debemos cambiar su valor con la dirección IP, nombre DNS o dominio de la máquina Ubuntu 20.04 LTS donde corre Zabbix Server:

...
Server=ubuntu2004.local.lan
...

Guardamos los cambios, cerramos el archivo y reiniciamos el servicio zabbix-agent para cargar la nueva configuración:

~$ sudo systemctl restart zabbix-agent

Cómo configurar el firewall en Ubuntu 20.04 para Zabbix

En caso de tener activado el firewall UFW en Ubuntu 20.04 LTS será necesario añadir una regla para que permita las conexiones entrantes desde el servidor Zabbix:

~$ sudo ufw allow zabbix-agent

El cambio hace efecto inmediatamente.

Cómo añadir una máquina remota Ubuntu 20.04 LTS en Zabbix 6

De vuelta al servidor Zabbix, a través de Zabbix Server, vamos a añadir la o las máquinas remotas en las que hayamos instalado y configurado el agente Zabbix.

Cómo configurar la máquina remota Ubuntu 20.04 LTS

Para configurar una nueva máquina remota Ubuntu 20.04 LTS en Zabbix Server visitaremos la sección «Configuration / Hosts» del panel lateral:

como configurar zabbix en ubuntu 20.04 lts focal fossa

En la parte superior derecha de la página encontraremos el botón «Create host» que abrirá el formulario para configurar una máquina remota:

configurar zabbix 6 en ubuntu 20.04 lts focal fossa

Esta sección del formulario es sencilla de configurar:

  • En «Host name» introducimos el nombre de la máquina.
  • Si queremos añadir un nombre más amigable, lo haremos en «Visible name«.
  • Añadiremos la máquina a uno o varios grupos predefinidos mediante el botón «Select«; es interesante elegir un grupo adecuado («Linux servers» en este ejemplo).
  • En «Templates» usaremos «Select» para elegir «Templates/Operating systems» y depués «Linux by Zabbix agent«.
  • Igualmente, en «Groups» podemos seleccionar «Linux servers«.
  • En «Interfaces» especificaremos la dirección IP y/o nombre DNS y seleccionaremos cuál de las dos direcciones usar para conectar.
  • Finalmente podemos añadir una descripción, seleccionar el proxy (si lo hubiera) y activar o desactivar la monitorización.

Ya podemos añadir la nueva máquina con el botón «Add«.

Regresaremos a la sección «Configuration / Hosts«, donde podremos ver la nueva máquina remota en la lista de la parte inferior de la página:

Visitaremos «Monitoring / Hosts«, donde se mostrará también la máquina remota en la lista, y en el menú contextual desplegado al pinchar sobre su nombre elegiremos «Graphs«, de modo que accederemos a la página de gráficas de esta máquina. Veremos que ha comenzado la recepción de datos:

¡Así de sencillo!

Conclusión

Ahora que sabes cómo instalar Zabbix 6 en Ubuntu 20.04 LTS Focal Fossa es fácil empezar a monitorizar el estado de las máquinas de tu red local, o servidores y VPS en Internet.

Si tienes dudas o preguntas, sugerencias, notificaciones de posibles errores, etc. puedes dejar un comentario que revisaremos tan pronto como resulte posible.

¡Apoya comoinstalar.me!

¿Ya monitorizas tus máquinas en red gracias a nuestra guía de instalación de Zabbix en Ubuntu 20.04 LTS? En caso afirmativo, si quieres agradecérnoslo colaborando con el mantenimiento de este sitio y la creación de futuros artículos, puedes hacerlo dejando 1 $ de propina con PayPal:

O, si te sientes especialmente agradecido, invitándonos a un café:

¡Gracias!

Valora esta entrada

5/5 - (3 votos)

11 comentarios en «Cómo instalar Zabbix 6 en Ubuntu 20.04 LTS»

  1. Sigo todos los pasos, el agente esta activo pero mira: 🙁 me puedes apoyar, ya que instalo la máquina y me sale esto:
    Received empty response from Zabbix Agent at [xxx.xx.x.xxx]. Assuming that agent dropped connection because of access permissions.

    Responder
    • ¿Has comprobado la conectividad a nivel de ping entre el servidor y el cliente? ¿Has revisado que en la configuración del cliente esté correctamente indicada la dirección del servidor (dirección que debería haber funcionado en el paso anterior con el ping)? ¿Has configurado correctamente el firewall en el cliente? En el directorio /var/log/zabbix/ del servidor y del cliente se encuentran los archivos de registro de eventos. En el servidor habrá registros con la hora a la que se intentó conectar con el agente del cliente, ¿hay algo ahí que dé pistas sobre qué está ocurriendo?

      Responder
  2. Estimado, muchas gracias por esta guía tan detallada, realmente me ha servido para mucho. Sin embargo, en el punto de la configuración del archivo con la clave de la contraseña para la BBDD, se deben modificar varios archivos /etc/zabbix/zabbix_server.conf y /etc/zabbix/web/zabbix.conf.php ya que funciona bien pero, cuando abres la web, te aparece que no está corriendo el servicio.

    Responder
    • ¡Hola, Danilo! Debes haberte saltado algún paso o cometido algún error, ya que no es necesario modificar manualmente el archivo zabbix.conf.php. Este archivo inicialmente no existe, lo crea el instalador web que le da como valor de la contraseña la que introducimos durante la instalación (que debe ser la misma, ‘XXXXXXXX’ en el ejemplo del tutorial). Lo acabo de comprobar y puedo asegurarte que tras terminar su trabajo el instalador web de Zabbix para Ubuntu 20.04 puedes acceder al frontend web sin problemas, con todo funcionando.

      Responder
  3. En el segundo paso de la instalación desde el navegador me sale el siguiente error:

    «Time zone for PHP is not set (configuration parameter «date.timezone»).«

    Responder

Deja un comentario