Cómo instalar Zabbix en CentOS 8

Aprende cómo instalar Zabbix en CentOS 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 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 HTTP con Zabbix, pero por simplificar esta guía trabajaremos sobre HTTP.

También necesitaremos algunas herramientas del sistema que obtendremos de los repositorios de CentOS, así que los actualizamos:

~$ sudo yum update

E instalamos los paquetes correspondientes:

~$ sudo yum install -y policycoreutils-python-utils

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/5.4/rhel/8/x86_64/zabbix-release-5.4-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-agent

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 apliació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 Agent: El agente Zabbix, que envía información desde la máquina en la que corre hacia el servidor Zabbix.

Dispones de paquetes similares para Nginx y PostgreSQL.

Base de datos

Como Zabbix se apoya sobre el servicio de bases de datos que tengamos instalado en CentOS 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 utf8 collate utf8_bin;

En MariaDB o MySQL 5 creamos el usuario para Zabbix de la forma habitual:

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

Pero en MySQL 8 especificamos el plugin de acceso:

> create user zabbix@localhost identified with mysql_native_password 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/create.sql.gz | mysql -u zabbix -p zabbix

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

SELinux

Siempre que queremos instalar Zabbix en CentOS 8 sabemos, versión tras versión, que tendremos problemas con SELinux. En muchos tutoriales se opta por desactivar SELinux por completo (algo poco recomendable), en otros se aplican políticas a ciegas con audit2allow (que básicamente es hacer algo sin saber qué se está haciendo).

Pues bien, en esta guía te proponemos configurar SELinux en modo permisivo pero exclusivamente para Zabbix, permitiendo que SELinux siga activado para el resto del sistema. Utilizaremos para ello el comando semanage:

~$ sudo semanage permissive -a zabbix_t

Por otro lado, permitiremos que la aplicación Zabbix Frontend, pueda realizar conexiones de red a través del servicio web:

~$ sudo setsebool -P httpd_can_network_connect on

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

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

instalar zabbix server en centos 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

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

En principio no sería necesario modificar nada. 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.

También tendremos que realizar algunos ajustes de la interfaz de Zabbix:

instalando zabbix en centos 8

Básicamente se trata de confirmar la zona horaria y elegir el tema de la interfaz gráfica.

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

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

zabbix server en centos 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/5.4/rhel/8/x86_64/zabbix-release-5.4-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

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:

Introducimos los datos de identificación, al menos un grupo (usando el botón «Select«), añadiremos una interfaz del tipo «Agent» especificando el método de conexión mediante dirección IP o nombre DNS.

Hecho esto, cambiamos a la solapa «Templates» del mismo formulario de alta:

agente Zabbix para centos 8

Cargaremos la plantilla «Linux by Zabbix agent«, por ejemplo.

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 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 hacerlo dejando 1 $ de propina con PayPal:

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

¡Gracias!

Valora esta entrada

6 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

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies