Cómo instalar Zabbix en CentOS 8

Aprende cómo instalar Zabbix en CentOS 8 / CentOS Stream 8 paso a paso, de manera que al final de esta guía podrás monitorizar los recursos de las máquinas de tu red local o a través de Internet, con esta aplicación instalada en tu servidor o VPS CentOS.

Antes de instalar Zabbix en CentOS 8

Para poder completar los pasos de esta guía de instalación de Zabbix en CentOS 8 es preciso satisfacer los siguientes requisitos mínimos:

  • Una máquina CentOS Stream 8 actualizada.
  • Un entorno o pila tipo LAMP (servicio web con Apache, PHP y servicio de bases de datos).
  • Un usuario con permisos de sudo o el propio root.
  • Acceso a Internet.

Si todavía no dispones del entorno necesario, podría ser buena idea consultar nuestra guía de instalación de la pila LAMP en CentOS 8. Es muy recomendable trabajar sobre HTTPS con Zabbix, pero por simplificar esta guía trabajaremos sobre HTTP.

Cómo instalar el repositorio de Zabbix para CentOS 8

Vamos a instalar el repositorio oficial de Zabbix para CentOS 8, ya que no encontraremos paquetes de esta aplicación en los repositorios del sistema. Para ello bastará con instalar el siguiente paquete:

~$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm

Una vez instalado el repositorio, conviene actualizar las listas de paquetes, entre los que se incluirán los que integran Zabbix:

~$ sudo yum update

Cómo instalar Zabbix en CentOS 8

A la hora de instalar Zabbix en CentOS 8 hemos de tener en cuenta que existen paquetes para construir una configuración personalizada con distintos servicios web (Apache y Nginx) y bases de datos (MariaDB/MySQL, PostgreSQL y SQLite3). En este tutorial trabajamos sobre una pila LAMP clásica, así que elegiremos los paquetes adecuados:

~$ sudo yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent glibc-langpack-en

Explicamos los distintos paquetes elegidos:

  • Zabbix Server MySQL: Es el servidor Zabbix por sí mismo, que recolectará información de los distintos agentes y la introducirá en la base de datos, MariaDB/MySQL en este caso.
  • Zabbix Frontend MySQL: Es la aplicación web que conecta con el servidor Zabbix y con la base de datos.
  • Zabbix Apache: Archivos necesarios para configurar e integrar Zabbix en el servicio web.
  • Zabbix SELinux: Las políticas necesarias para conceder permisos avanzados para esta aplicación.
  • Zabbix Agent: El agente Zabbix, que envía información desde la máquina en la que corre hacia el servidor Zabbix.
  • Localización del sistema en inglés: Zabbix Frontend actualmente trabaja con el juego de caracteres en_US.utf8.

Dispones de paquetes similares para Nginx (zabbix-nginx-conf) y PostgreSQL (zabbix-server-pgsql y zabbix-web-ptsql).

Base de datos

Como Zabbix se apoya sobre el servicio de bases de datos que tengamos instalado en CentOS Stream 8, será necesario preparar la base de datos e inicializarla. En este tutorial trabajamos sobre MariaDB/MySQL, por lo que conectamos al servicio con el cliente mysql:

~$ mysql -u root -p

Creamos la base de datos para Zabbix:

> create database zabbix character set utf8mb4 collate utf8mb4_bin;

Creamos el usuario para Zabbix de la forma habitual:

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

Concedemos los permisos adecuados al usuario sobre la base:

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

Y cerramos sesión:

> exit

Ahora crearemos la estructura inicial de la base de datos importándola desde un archivo SQL proporcionado por Zabbix:

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

Se nos solicitará la contraseña del usuario de Zabbix, tal como la acabamos de crear.

Configurar Zabbix en CentOS 8

Editamos la configuración de Zabbix para que pueda conectar desde PHP al servicio de bases de datos:

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

Buscamos la variable DBPassword:

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

Activamos la variable eliminando el carácter # al inicio de línea y le damos el valor que especificamos para la contraseña cuando preparamos la base de datos:

...
DBPassword=XXXXXXXX
...

En este tutorial hemos creado la base de datos (zabbix) y el usuario (zabbix) con los valores por defecto que se usan en este archivo, pero si decidiste utilizar otros, deberías actualizar igualmente las variables DBName y DBUser.

Hechos los cambios, guardamos y cerramos este archivo.

Servicios

Ya tenemos todo listo para arrancar los nuevos servicios (servidor y agente Zabbix) y reiniciar los servicios ya existentes (servicios web y de bases de datos):

~$ sudo systemctl restart zabbix-server zabbix-agent httpd php-fpm

Y activamos los nuevos servicios de Zabbix para que inicien automáticamente en cada arranque de CentOS 8:

~$ sudo systemctl enable zabbix-server zabbix-agent

Firewall

Si vas a configurar máquinas remotas para que conecten a este servidor Zabbix, será necesario abrir el puerto en el que escucha el servicio zabbix-server:

~$ sudo firewall-cmd --permanent --zone=public --add-port=10051/tcp

Y aplicamos los cambios inmediatamente:

~$ sudo firewall-cmd --reload

Instalación web

Toda está listo para lanzar el instalador web de Zabbix en CentOS 8, para lo que accederemos desde un navegador añadiendo la ruta /zabbix a la dirección IP o dominio del servidor.

Por ejemplo, la máquina CentOS 8 sobre la que trabajamos en este tutorial es accesible en el dominio centos8.local.lan, por lo que podemos usar http://centos8.local.lan/zabbix como URL:

como instalar zabbix en centos 8 / centos stream 8

Tras la página inicial de bienvenida continuamos hacia la página de comprobación de requisitos:

instalar zabbix server en centos 8 / centos stream 8

Si has seguido los pasos anteriores se cumplirán todos los requisitos, por lo que podrás continuar con el siguiente paso.

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

instalacion de zabbix frontend en centos 8 / centos stream 8

Introduciremos los datos correspondientes, tal como los creamos a la hora de preparar la base de datos para Zabbix.

Continuamos con la configuración del servidor Zabbix:

instalador de zabbix en centos 8 / centos stream 8

Si especificas un nombre para el servidor tendrás que usar este mismo nombre en la configuración del agente Zabbix tanto en el servidor como en las máquinas remotas que configures con posterioridad. En caso de no configurar nombre se adjudicará por defecto «Zabbix Server«.

También podemos ajustar la zona horaria del servidor y un tema para la interfaz de la plataforma web.

Antes de guardar los ajustes de configuración de la instalación, se mostrará un resumen:

Y llegamos al fin de la instalación:

zabbix server para centos 8 (centos stream 8)

Tras finalizar el proceso de instalación se mostrará la página de inicio de sesión:

zabbix server en centos 8 (centos stream 8)

Por defecto, el usuario administrador es Admin y la contraseña es zabbix. Es más que aconsejable cambiar la contraseña por defecto lo antes posible.

Al iniciar sesión se mostrará la página principal de Zabbix, donde de un vistazo veremos que Zabbix Server está funcionando y que el agente Zabbix local también está disponible:

¡Ya está todo listo para empezar a trabajar con Zabbix en CentOS 8!

Cómo añadir máquinas CentOS 8 remotas a Zabbix

Hasta ahora hemos configurado un servidor Zabbix en CentOS 8 capaz de guardar información de monitorización, con un agente Zabbix local conectado, y Zabbix Frontend para consultar la información y configurar la aplicación.

Ahora vamos a agregar una máquina remota CentOS 8 al servidor, para lo que instalaremos el agente Zabbix, empezando por instalar el repositorio de Zabbix:

~$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm

Actualizamos las listas de paquetes:

~$ sudo yum update

E instalamos el agente Zabbix:

~$ sudo yum install -y zabbix-agent

Antes de iniciar el servicio zabbix-agent tendremos que configurarlo:

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

Buscamoremos las directivas Server, ServerActive y Hostname:

...
Server=127.0.0.1
...
ServerActive=127.0.0.1
...
Hostname=Zabbix server
...

Y cambiamos los valores, especificando la dirección IP o dominio del servidor Zabbix para Server y ServerActive:

...
Server=centos8.local.lan
...
ServerActive=centos8.local.lan
...
Hostname=Zabbix server
...

Sólo será necesario cambiar el valor de Hostname si durante la instalación de Zabbix en el servidor decidimos ponerle un nombre (en este tutorial dejamos el valor por defecto).

Guardamos y cerramos el archivo.

Debemos configurar el firewall para que el agente Zabbix pueda ser contactado desde Zabbix Server:

~$ sudo firewall-cmd --permanent --add-port=10050/tcp

Y aplicamos la nueva configuración del firewall:

~$ sudo firewall-cmd --reload

Ahora ya podemos iniciar el agente Zabbix en esta máquina remota CentOS 8:

~$ sudo systemctl start zabbix-agent

Y habilitamos el servicio para su inicio automático con cada arranque del sistema:

~$ sudo systemctl enable zabbix-agent

Configurar la máquina remota en Zabbix Server

Con la máquina remota CentOS 8 ya lista, regresamos a la interfaz web de Zabbix Server. Visitaremos la sección «Configuration / Hosts«:

zabbix agent en centos 8 / centos stream 8

Pulsamos el botón «Create host» en la parte superior derecha de la página y se desplegará un formulario con varias secciones, donde dar de alta la nueva máquina remota:

En la solapa «Host» introducimos los datos de identificación, opcionalmente un plantilla («Linux by Zabbix agent» es la recomendada, que está dentro del grupo «Templates/Operating systems«) y al menos un grupo. Añadiremos además una interfaz del tipo «Agent» especificando el método de conexión mediante dirección IP o nombre DNS.

Finalizamos el alta de la máquina remota con el botón «Add» al pie del formulario para guardar la configuración.

Regresamos automáticamente a la página «Configuration / Hosts«:

En la parte inferior de esta página veremos la lista de máquinas configuradas, encabezada por la que acabamos de añadir.

Ahora visitaremos «Monitoring / Hosts» y situándonos sobre el nombre de la máquina que nos interesa aparecerá un menú contextual, en el que aparecerá la opción «Graphs«:

Podremos consultar todas las gráficas disponibles para esa máquina, pudiendo ajustar la temporalidad de las mismas fácilmente:

¡Así de fácil!

Conclusión

Ahora que sabes cómo instalar Zabbix en CentOS 8 ya puedes monitorizar los sistemas y recursos de tu red gracias a esta potente aplicación, con su cómoda e intuitiva interfaz web.

Si te ha surgido alguna duda o pregunta, tienes sugerencias de mejoras de este tutorial, quieres notificar algún error, etc. puedes dejar un comentario.

¡Apoya comoinstalar.me!

¿Ya tienes montado tu sistema de monitorización gracias a esta guía de instalación de Zabbix en CentOS Stream 8? Si es así y te apetece agradecérnoslo, puedes contribuir con una mínima aportación que ayudará mucho al mantenimiento de este sitio y la creación de nuevos tutoriales de CentOS 8 y Zabbix.

Puedes ayudarnos dejando tan sólo 1 $ de propina con PayPal:

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

¡Gracias!

Valora esta entrada

5/5 - (3 votos)

7 comentarios en «Cómo instalar Zabbix en CentOS 8»

    • Debe tratarse de un problema de conexión en tu máquina CentOS 8 o con tu servicio DNS. Acabo de actualizar este tutorial con Zabbix 5.4 sobre CentOS 8 y va todo como la seda.

      Responder
  1. Saludos.

    Necesito monitorear contenedores Docker y en la versión 4.4.10 no está el Template app Docker. Cómo puedo hacer para instalarlo o actualizar las plantillas y poder monitorear Docker.

    Gracias.

    Responder
    • ¡Hola, Ricardo! Acabo de actualizar el tutorial a la versión 5.2.4 de Zabbix para CentOS 8. En el contenedor Docker debes instalar el agente nuevo (zabbix_agent2), y en Zabbix Frontend al enlazar la plantilla selecciona «Templates/Applicactions» y dentro de este grupo tendrás disponible «Docker«.

      Responder
  2. Excelentemente explicado, fácil e intuitivo. ¡No se presentó problema con NADA! Lo estoy probando en una máquina virtual, actualmente uso Nagios para monitorear tráfico en un switch de la oficina donde trabajo, pero me hablaron muy bien de Zabbix, así que acá estamos dándole una oportunidad.

    Responder

Deja un comentario