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).
  • El paquete policycoreutils-python-utils.
  • 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.

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/4.4/rhel/8/x86_64/zabbix-release-4.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-agent2

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-server-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-agent2 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-agent2

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, por lo que podemos usar http://centos8.local/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.

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

instalando zabbix en centos 8

Y llegamos al fin de la instalación:

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

zabbix server para 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:

zabbix server en centos 8

¡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/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm

Actualizamos las listas de paquetes:

~$ sudo yum update

E instalamos el agente Zabbix:

~$ sudo yum install -y zabbix-agent2

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

~$ sudo nano /etc/zabbix/zabbix_agent2.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
...
ServerActive=centos8.local
...
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-agent2

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

~$ sudo systemctl enable zabbix-agent2

Configurar la máquina remota en Zabbix Server

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

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

Zabbix Agent en CentOS 8

Introducimos los datos de identificación y conexión, al menos un grupo, y especificamos el método de conexión mediante dirección IP o nombre DNS.

Hecho esto, cambiamos a la solapa «Templates«:

agente Zabbix para centos 8

Cargaremos la plantilla «Template OS Linux by Zabbix agent active» y pulsamos «Add» para guardar la configuración de la nueva máquina remota.

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.

Vamos a «Monitoring / Graphs» y en el desplegable «Host» seleccionamos la máquina que acabamos de añadir ,y en el desplegable «Graph» seleccionamos cualquier gráfico que nos interese, como «CPU utilization«, por ejemplo:

¡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. ¡Gracias!

 

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (2 votos, promedio: 5,00 de 5)
Cargando...

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