Cómo instalar Zabbix 6 en Ubuntu 18.04 LTS

En esta entrada veremos cómo instalar Zabbix en Ubuntu 18.04 LTS Bionic Beaver paso a paso, concretamente los módulos Zabbix Server, Zabbix Frontend y Zabbix Agent. De este modo podremos monitorizar sistemas locales y remotos, incluso un VPS Ubuntu, a través de una cómoda interfaz web.

Antes de instalar Zabbix en Ubuntu 18.04 LTS

Para poder completar esta guía de instalación y configuración de Zabbix en Ubuntu 18.04 LTS Bionic Beaver necesitas satisfacer los siguientes requerimientos básicos:

  • Una instalación actualizada de Ubuntu 18.04 LTS Bionic Beaver.
  • Entorno o pila tipo LAMP, es decir, servicio web con PHP y bases de datos (MariaDB 10.5 ó superior, PostgreSQL 13 ó superior).
  • Acceso a consola con un usuario con permisos de sudo.
  • Conexión a Internet.

Si aún no tienes el entorno, puedes echar un vistazo previo a la guía de instalación LAMP en Ubuntu 18.04 LTS y la guía de instalación de PostgreSQL en Ubuntu 18.04 LTS. En esta guía usamos Apache y MariaDB/MySQL, pero puedes usar también Nginx y PostgreSQL.

Los componentes de Zabbix son:

  • Zabbix Server: El servidor que centraliza la información que recibe de las máquinas monitorizadas. Disponible para MariaDB/MySQL o para PostgreSQL.
  • Zabbix Agent: El servicio que recoge información de la máquina y la envía al servidor Zabbix.
  • Zabbix Frontend: La aplicación web que conecta con el servidor Zabbix para interactuar con él, extrayendo información o configurándolo.

En este tutorial montaremos un servidor Zabbix con el frontend y el agente, todo en la misma máquina, con lo que podremos monitorizar el propio servidor. Posteriormente añadiremos máquinas remotas para monitorizar.

Cómo instalar Zabbix en Ubuntu 18.04 LTS

Vamos a instalar Zabbix en Ubuntu 18.04 LTS Bionic Beaver desde el repositorio oficial de Zabbix, ya que mientras que la última versión estable de Zabbix es la 6, en los repositorios de la Ubuntu 18.04 se ofrece la versión 3.

como descargar zabbix para ubuntu 18.04 lts bionic beaver

Instalar el repositorio de Zabbix para Ubuntu 18.04

Empezaremos descargando el paquete que contiene la información del repositorio de Zabbix para Ubuntu 18.04 LTS Bionic Beaver:

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

Instalamos el paquete:

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

Y actualizamos las listas de los repositorios, que ya incluyen el nuevo repositorio de Zabbix:

~$ sudo apt update

Debemos repetir el proceso anterior en cada máquina Ubuntu 18.04 que queramos monitorizar, para poder instalar posteriormente Zabbix Agent en cada una de ellas

Instalar Zabbix en Ubuntu 18.04 LTS

A continuación instalaremos los paquetes que necesitamos:

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

Si usas Nginx deberás sustituir zabbix-apache-conf por zabbix-nginx-conf, y si usas PostgreSQL sustituye zabbix-server-mysql por zabbix-server-pgsql.

Tras la descarga e instalación de estos paquetes y sus dependencias se crean dos nuevos servicios en Ubuntu 18.04, zabbix-agent.service y zabbix-server.service o, si prefieres los nombres cortos, zabbix-agent y zabbix-server.

El servicio Zabbix Agent queda en ejecución, pero no habilitado para su inicio automático, así que si lo queremos tener siempre disponible, lo habilitaremos:

~$ sudo systemctl enable zabbix-agent

Por otro lado, el servicio Zabbix Server no está iniciado ni habilitado. Pero aún no vamos a modificar esto, ya que quedan tareas por hacer.

Recargaremos la configuración del servidor web, ya que se incluyen configuraciones adicionales:

~$ sudo systemctl reload apache2

Preparativos de PHP

Zabbix 6 requiere una serie de extensiones de este lenguaje de programación que instalaremos desde los repositorios. Si trabajamos con la versión incluida en la distribución no habrá que hacer nada, ya que los paquetes necesarios se instalarán automáticamente como dependencias.

Pero si trabajamos con alguna otra versión procedente del repositorio alternativo, el proceso se complica un poco, ya que Zabbix habrá instalado como dependencias las extensiones para la última versión estable (la 8.1 en el momento de actualizar este artículo). Por tanto habrá que instalar manualmente los paquetes adecuandos indicando en su nombre el número de la versión con que trabajábamos; por ejemplo, para la versión 7.4:

~$ sudo apt install -y php7.4-bcmath php7.4-gd php7.4-ldap php7.4-mbstring php7.4-xml

Y acto seguido establecemos como versión por defecto del lenguaje la que teníamos previa a la instalación de Zabbix usando el comando update-alternatives:

~$ sudo update-alternatives --config php
Existen 2 opciones para la alternativa php (que provee /usr/bin/php).

  Selección   Ruta             Prioridad  Estado
------------------------------------------------------------
* 0            /usr/bin/php8.1   81        modo automático
  1            /usr/bin/php7.4   74        modo manual
  2            /usr/bin/php8.1   81        modo manual

Pulse <Intro> para mantener el valor por omisión [*] o pulse un número de selección: 1
update-alternatives: utilizando /usr/bin/php7.4 para proveer /usr/bin/php (php) en modo manual

Terminado este proceso, reiniciamos el servicio web o el servicio PHP-FPM:

~$ sudo systemctl restart apache2

Preparativos de la base de datos

Zabbix necesita una base de datos sobre la que trabajar y en este tutorial explicamos los tipos más usados.

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 charset utf8mb4 collate utf8mb4_bin;

Creamos el usuario:

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

Sólo queda aplicar los permisos necesarios del usuario sobre la base:

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

Ya podemos cerrar el cliente:

> exit

Ahora es necesario crear la infraestructura inicial sobre la base de datos, para lo que Zabbix incluye un archivo para cargarlo en la base:

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

En el comando anterior usaremos la contraseña del usuario zabbix que hemos creado hace un momento.

PostgreSQL

Creamos el rol para administrar la base:

~$ sudo -u postgres createuser -P zabbix

Indicaremos la contraseña y su confirmación.

A continuación creamos la base de datos asociándola al nuevo rol:

~$ sudo -u postgres createdb zabbix -O zabbix

Cargamos la base de datos con el script SQL proporcionado por Zabbix 6:

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

Se nos pedirá la contraseña del usuario zabbix que acabamos de crear. El proceso tomará unos instantes.

Configuración de Zabbix Server

Editamos el archivo de configuración:

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

Buscamos la directiva DBPassword:

...
# DBPassword=
...

Está desactivada, así que la activamos eliminando el carácter # inicial y asignamos la contraseña que hayamos creado para el usuario de la base de datos de Zabbix:

...
DBPassword=XXXXXXXX
...

Guardamos y cerramos.

Ahora podemos iniciar el servicio Zabbix Server y habilitarlo:

~$ sudo systemctl enable --now zabbix-server

Configuración del firewall de Ubuntu 18.04 para Zabbix Server

Si tienes activado el firewall UFW en Ubuntu 18.04 debes añadir una regla para el servidor Zabbix, que puede esperar conexiones activas de los agentes en el puerto TCP 10051:

~$ sudo ufw allow 10051/tcp

Instalación de Zabbix Frontend

Es el momento de instalar Zabbix Frontend en Ubuntu 18.04 LTS a través del navegador añadiendo la ruta /zabbix a la dirección IP o dominio del sistema.

Por ejemplo, el servidor Ubuntu 18.04 en el que realizamos este tutorial es accesible en el subdomnio o nombre DNS ubuntu64.local.lan, por lo que usamos http://ubuntu64.local.lan/zabbix como URL:

como instalar zabbix en ubuntu 18.04 lts bionic beaver

Pasamos de la página de bienvenida a la comprobación de los requisitos de Zabbix 6, donde se mostrarán estos y si nuestro sistema Ubuntu 18.04 LTS los cumple o no:

instalar zabbix en ubuntu 18.04 lts bionic beaver

La siguiente página solicitará los datos de conexión a la base de datos que tenemos en Ubuntu 18.04 para Zabbix, y que configuramos en un paso anterior:

instalacion de zabbix en ubuntu 18.04 lts bionic beaver

A continuación habrá que confirmar los datos del servidor Zabbix:

instalar zabbix server en ubuntu 18.04 lts bionic beaver

Si especificas un valor para «Zabbix Server Name» tendrás que reconfigurar todos los agentes Zabbix que conecten a este servidor para que usen el nombre especificado.

Comprueba si la zona horaria indicada es la adecuada y modifícala si fuese necesario.

Una página de resumen nos mostrará toda la personalización y configuración de la instalación:

instalacion de zabbix server en ubuntu 18.04 lts bionic beaver

Finalmente, la instalación termina y nos informa de en qué archivo ha guardado la configuración de Zabbix:

Continuamos pulsando el botón «Finish» y aparecerá la página de inicio de sesión de Zabbix Frontend, donde tendremos que indicar el usuario y la contraseña:

zabbix para ubuntu 18.04 lts bionic beaver

El usuario administrador es Admin, y su contraseña por defecto es también zabbix. No olvides cambiar cuanto antes la contraseña en la administración del usuario en el panel de control de Zabbix.

Al iniciar sesión se nos mostrará la página principal del panel de control:

zabbix en ubuntu 18.04 lts bionic beaver

Cómo monitorizar máquinas remotas Ubuntu 18.04 LTS

En cada máquina Ubuntu 18.04 LTS que queramos monitorear desde el servidor Zabbix, y en la que previamente habremos instalado el repositorio de Zabbix, instalaremos únicamente el paquete del agente Zabbix:

~$ sudo apt install -y zabbix-agent

Tras la instalación, el servicio zabbix-agent queda iniciado, pero no habilitado, así que si queremos tenerlo siempre disponible debemos habilitarlo para que inicie junto a Ubuntu 18.04:

~$ sudo systemctl enable zabbix-agent

Configurar el firewall de Ubuntu 18.04 para Zabbix Agent

Si tienes instalado el firewall UFW en Ubuntu 18.04, deberías añadir una regla que permita que el servidor conecte con la máquina remota en el puerto TCP 10050:

~$ sudo ufw allow 10050/tcp

Configurar Zabbix Agent en Ubuntu 18.04

La configuración por defecto del agente Zabbix en Ubuntu 18.04 está pensada para conectar a un servicio local. Por este motivo debemos ajustarla para conectar al servidor Zabbix, que se encuentra en otra máquina:

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

Buscamos la directiva Server:

...
Server=127.0.0.1
...

Y cambiamos su valor por la dirección IP o dominio del servidor Zabbix:

...
Server=ubuntu64.local.lan
...

Igualmente hacemos con la directiva ServerActive:

...
ServerActive=127.0.0.1
...

Que modificamos de la misma forma:

...
ServerActive=ubuntu64.local.lan
...

Si hubieras modificado en la instalación del servidor Zabbix su nombre, deberías modificar también el valor de la directiva Hostname:

...
Hostname=Zabbix server
...

Si no lo modificaste entonces el valor por defecto es correcto.

Guardados los cambios, es necesario reiniciar el servicio para aplicarlos:

~$ sudo systemctl restart zabbix-agent

Configurar la máquina remota Ubuntu 18.04 en Zabbix Frontend

De vuelta a Zabbix Fronted en el servidor, añadiremos la máquina Ubuntu 18.04 en la que acabamos de configurar Zabbix Agent.

Para ello iremos a la sección «Configuration» / «Hosts«:

como configurar zabbix en ubuntu 18.04 lts bionic beaver

Pulsaremos el botón «Create host» y se abrirá un formulario con varios apartados en forma de solapas, empenzando con el apartado «Host«, que en principio es el único que necesitamos configurar:

configurar zabbix en ubuntu 18.04 lts bionic beaver

Introduciremos el nombre del sistema, un nombre «visible» o etiqueta, una o más plantillas y grupos para organizar las máquinas remotas y una interfaz de conexión con la máquina remota.

Las plantillas («Templates«) son importantes porque contienen preajustes de servicios, gráficos, etc. Pulsando el botón «Select» aparecerá el desplegable en el que podemos seleccionar la plantilla que nos interese, empezando por un grupo de plantillas como «Templates/Operanting systems» y eligiendo «Linux by Zabbix agent» dentro de dicho grupo para este ejemplo.

En cuanto a la interfaz la creamos con «Add«, elegimos el tipo «Agent» y configuramos el método de conexión por dirección IP o nombre DNS del sistema remoto.

Al terminar pulsaremos el botón «Add» y se añadirá la máquina remota a la configuración de Zabbix Server. Se nos redirige automáticamente a la sección «Configuration» / «Hosts«:

configuracion de zabbix en ubuntu 18.04 lts bionic beaver

Podremos ver en la parte inferior de la página la nueva máquina remota añadida y su datos.

La plantilla incluye gráficos predeterminados, así que si queremos echarles un vistazo visitaremos la sección «Monitoring» / «Hosts«, donde veremos la lista de máquinas monitorizadas actualmente (el propio servidor y la máquina remota en el ejemplo de este tutorial):

Haciendo clic sobre el nombre de la máquina remota en la lista aparecerá un menú contextual dentro de cuya sección «HOST» elegiremos la opción «Graph«, que nos llevará a la página de gráficos de la máquina:

Ahí está la actividad de la máquina remota.

Este proceso lo podrás repetir con tantas máquinas remotas como quieras.

Conclusión

Ya sabes cómo instalar Zabbix 6 en Ubuntu 18.04  LTS Bionic Beaver y puedes monitorear los sistemas de tu red local o incluso servidores y máquinas VPS en Internet.

En caso de que te surja alguna duda, pregunta, sugerencia, etc. puedes dejar un comentario.

¡Apoya este sitio!

¿Ya monitorizas tus sistemas gracias a esta pequeña guía de instalación y configuración de Zabbix 6 en Ubuntu 18.04 LTS? Si es así y te apetece agradecérnoslo, la más mínima aportación contribuye mucho al mantenimiento de este sitio web y a la creación de más tutoriales.

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

O, si te sientes especialmente agradecido, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (2 votos)

7 comentarios en «Cómo instalar Zabbix 6 en Ubuntu 18.04 LTS»

  1. Hola, tengo un problema al monitorizar los nodos de cassandra, el nodo a monitorizar presenta el problema en JMX (cannot connect to [[X.X.X.X]:10052]:[111] Connection refused), no logro encontrar una solución. Gracias de antemano.

    Responder
    • Si Zabbix Server y Zabbix Java Gateway son máquinas separadas, ¿está abierto el puerto 10052/tcp en la máquina Zabbix Java Gateway, y el servicio en ejecución y aceptando conexiones remotas en ese puerto?

      Responder

Deja un comentario