Cómo instalar Zabbix 4.2 en CentOS 7

Cómo instalar Zabbix 4.2 en CentOS 7

En esta ocasión vamos a ver cómo instalar Zabbix en CentOS 7 paso a paso, de modo que puedas monitorizar servidores VPS CentOS local o remotamente. Al final de esta guía habrás instalado y configurado Zabbix Server, Zabbix Frontend y Zabbix Agent en un servidor CentOS 7, e incluso habrás añadido una máquina remota a la monitorización.

Antes de instalar Zabbix en CentOS 7

  • Un sistema CentOS 7 actualizado.
  • Una pila LAMP, es decir, servidor web con PHP (hasta la versión 7.3) y servicio de bases de datos.
  • Paquetes y comandos: nano, wget.
  • Acceso a terminal de comandos con root o un usuario con permisos de sudo.
  • Conexión a Internet.

Cómo instalar Zabbix 4.2 en CentOS 7

Vamos a instalar Zabbix en CentOS 7 utilizando el repositorio oficial del Zabbix. La razón es que mientras que el último lanzamiento estable de Zabbix es la versión 4.2, en los repositorios de CentOS y EPEL sólo encontraremos paquetes hasta la versión 4.0. Es una buena razón para instalar el repositorio de Zabbix 4.2 para CentOS 7, que podemos encontrar en su sitio web oficial:

como descargar zabbix 4.2 para centos 7

Instalar el repositorio de Zabbix 4.2 para CentOS 7

Tenemos que instalar el repositorio de Zabbix 4.2 para CentOS 7. Si vas a monitorizar máquinas remotas CentOS 7, repite también este mismo paso en cada una de ellas.

Instalaremos el repositorio de Zabbix 4.2 para CentOS 7 desde consola directamente con yum:

~$ sudo yum install -y https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm

Con el nuevo repositorio de Zabbix 4.2 para CentOS 7 instalado, es buena idea actualizar las listas de paquetes:

~$ sudo yum update -y

Si haces una búsqueda de paquetes zabbix con yum verás como dato curioso que los paquetes nuevos no indican número de versión en su nombre.

Cómo instalar el servidor Zabbix 4.2 en CentOS 7

Lo que vamos a hacer a continuación es instalar en la misma máquina CentOS 7 el servidor, el frontend y el agente Zabbix 4.2, de manera que este servidor Zabbix se monitoreará a sí mismo.

En el ejemplo de este tutorial usamos MariaDB como servicio de bases de datos, así que instalaremos Zabbix Server y Web para MySQL.

Procederemos a instalar los paquetes necesarios:

~$ sudo yum install -y zabbix-agent zabbix-server-mysql zabbix-web-mysql

NOTA: Si tienes problemas porque el paquete zabbix-server-mysql busca la dependencia php-mysql y no la encuentra por tener instalada alguna versión de PHP 7, instala previamente el paquete php-pecl-mysql.

Recargamos el servidor web, ya que entre las dependencias instaladas figuran extensiones de PHP:

~$ sudo systemctl reload httpd

La instalación ha creado dos servicios nuevos, zabbix-agent.service y zabbix-server.service. Ninguno de los dos está iniciado ni habilitado para arrancar automáticamente. Todavía no vamos a modificar esto.

SELinux y Zabbix

La forma rápida y fácil de instalar Zabbix en CentOS 7 es desactivando SELinux si lo tienes activado:

~$ sudo setenforce 0

Para que el cambio sea permanente, editaremos la configuración de SELinux para Sysconfig:

~$ sudo nano /etc/sysconfig/selinux

Buscaremos la directiva SELINUX:

...
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
...

Y cambiaremos el valor por disabled:

SELINUX=disabled

Guardamos los cambios y cerramos el archivo.

Preparación de la base de datos

Zabbix se apoya sobre una base de datos, que puede ser MySQL o PostgreSQL. En la máquina de ejemplo de este tutorial tenemos MariaDB, así que vamos a preparar la base de datos y el usuario que necesita Zabbix.

Podemos conectar al servicio con el cliente de consola mysql:

~$ sudo mysql

El primer paso será crear la base de datos:

> create database zabbix;

Y a continuación el usuario con permisos sobre ella:

> grant all privileges on zabbix.* to zabbix@localhost identified by 'XXXXXXXX';

Finalmente refrescamos los permisos y salimos del cliente:

> flush privileges;
> exit

El instalador necesita que la base de datos tenga una estructura creada y cierta información ya incorporada. Este paso debemos hacerlo nosotros también, para lo cual hay previsto un archivo SQL que debemos cargar:

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

Se te pedirá la contraseña del usuario zabbix que creaste en el paso anterior, y se cargarán todos los datos necesarios.

Preparación de PHP

Puede que la versión de PHP que tengas en tu sistema no se ajuste a los requerimientos de Zabbix Frontend para CentOS 7 (con PHP 7.4 a día de hoy no funciona), así que vamos a repasar rápidamente algunas configuraciones del arhivo php.ini:

~$ sudo nano /etc/php.ini

Buscaremos las siguientes opciones y nos aseguraremos de que tengan los valores indicados como mínimo:

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

Una vez guardados los cambios y cerrado el archivo, recarga la configuración del servicio web:

~$ sudo systemctl reload httpd

Configuración de Zabbix Server

He elegido los nombres del usuario y la base de datos que hemos visto anteriormente porque son los valores por defecto de Zabbix Server. Sin embargo, la configuración por defecto no contempla la contraseña, así que la añadiremos.

Editamos el archivo de configuración de Zabbix Server:

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

Y buscamos la directiva DBPassword:

...
#
# Mandatory: no
# Default:
# DBPassword=
...

Está desactivada, así que la activamos eliminando el carácter # de inicio de línea y le asignamos el valor de la contraseña. Quedaría algo así:

DBPassword=XXXXXXXX

Activación de los servicios

Con todas las configuraciones terminadas, podemos iniciar los servicios zabbix-agent y zabbix-server:

~$ sudo systemctl start zabbix-agent zabbix-server

Y si queremos que estos servicios inicien automáticamente con el arranque de CentOS 7, debemos habilitarlos también:

~$ sudo systemctl enable zabbix-agent zabbix-server

Comprobaremos que los servicios están funcionando con el comando systemctl status zabbix-agent zabbix-server:

como instalar zabbix server en centos 7

Cómo instalar Zabbix Frontend en CentOS 7

La última parte de la preparación del servidor Zabbix es la instalación de Zabbix Frontend en CentOS 7. Accederemos al instalador web añadiendo el sufijo /zabbix a la dirección IP o dominio del servidor CentOS 7.

En este ejemplo la máquina CentOS 7 es accesible a través del dominio centos7.local, por lo que podemos usar la URL http://centos7.local/zabbix en el navegador para acceder a Zabbix:

como instalar zabbix 4.2 en centos 7

En la primera página de la instalación se nos dará la bienvenida y poco más, así que continuamos hacia la siguiente sección, donde se mostrará el resultado de la comprobación de los pre-requisitos:

como instalar zabbix en centos 7

Si has seguido paso a paso esta guía, todos los requisitos deberían aparecer marcados como OK. Si falla alguno, deberás solucionarlo antes de continuar.

En la página siguiente se configura la conexión a la base de datos:

instalar zabbix 4.2 en centos 7

Creamos la base y el usuario con los nombres por defecto de Zabbix, por lo que únicamente habrá que introducir la contraseña.

A continuación, configuramos la conexxión con el servicio Zabbix Server:

instalar zabbix en centos 7

No hay que hacer cambios, ya que Zabbix Frontend y Zabbix Server se ejecutan en la misma máquina CentOS 7.

Antes de finalizar se nos muestra un resumen de configuración de la instalación:

instalación de zabbix 4.2 en centos 7

Y por fin llegamos al final del proceso:

Un mensaje nos confirma que la configuración de Zabbix Frontend se ha guardado satisfactoriamente.

Al continuar aparecerá el inicio de sesión en Zabbix Frontend:

instalar zabbix server en centos 7

El usuario por defecto es admin y la contraseña zabbix. Deberías cambiar la contraseña en el panel de control cuando puedas. De momento, introducimos los valores por defecto y continuamos.

Y por fin accedemos directamente al panel de control de Zabbix Frontend:

Ya puedes hacer un recorrido por el Frontend y trabajar con sus múltiples opciones, aunque eso excede el propósito de esta guía.

Pero si quieres añadir una máquina remota, continúa leyendo.

Cómo añadir una máquina remota CentOS 7 a Zabbix Frontend

Ha llegado la hora de explorar la verdadera potencia de Zabbix, añadiendo máquinas remotas al sistema de monitorización.

Al principio de la guía instalamos el repositorio tanto en el servidor Zabbix como en todas las máquinas remotas CentOS 7 que tuviéramos pensado monitorizar.

Es el momento de instalar y configurar Zabbix Agent en estas máquinas remotas.

El paquete que necesitamos es zabbix-agent, que instalaremos con yum:

~$ sudo yum install -y zabbix-agent

Tras la descarga e instalación del paquete se crea un nuevo servicio en nuestro sistema Centos 7, llamado zabbix-agent.service o, más brevemente, zabbix-agent. El instalador no arranca el servicio y tampoco lo habilita para inicio automático.

Aún no vamos a iniciar este servicio, vamos primero a configurarlo. Para configurar Zabbix Agent en CentOS 7, editamos su archivo de configuración:

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

Buscaremos las directivas Server, ServerActive y Hostname:

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

Los valores de configuración por defecto buscan la conexión a Zabbix Server en la máquina local (por eso no tuvimos que configurar Zabbix Agent al instalar Zabbix Server anteriormente).

Tenemos que sustituir el valor 127.0.0.1 por la dirección IP del servidor Zabbix, o por su dominio (en este ejemplo el servidor Zabbix responde al dominio centos7.local):

...
Server=centos7.local
...
ServerActive=centos7.local
...
Hostname=Zabbix server
...

Sólo deberás cambiar el valor de la directiva Hostname si durante la instalación de Zabbix Server indicaste un nombre distinto al valor por defecto.

Configurar el firewall para Zabbix Agent en CentOS 7

Si tienes activado el firewall de CentOS 7 tendrás que añadir una excepción para Zabbix Agent, cuyo servicio se encuentra a la escucha en el puerto 10050 TCP:

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

Recargamos la configuración del firewall para que haga efecto de inmediato:

~$ sudo firewall-cmd --reload

Iniciar y activar el servicio Zabbix Agent

Con todos los preparativos terminados, es el momento de iniciar el servicio Zabbix Agent:

~$ sudo systemctl start zabbix-agent

Si quieres que CentOS 7 inicie automáticamente Zabbix Agent en cada arranque del sistema, habilita el servicio zabbix-agent:

~$ sudo systemctl enable zabbix-agent

Listo, hemos terminado de trabajar con la máquina remota.

Configurar la máquina remota en Zabbix Frontend

Iniciada sesión en Zabbix Fronted, iremos a «Configuration» / «Hosts«:

Para añadir una nueva máquina que monitorizar, pulsaremos el botón «Create host» y se desplegará un formulario:

En «Host name» introducimos el nombre del sistema remoto, mientras que en «Visible name» opcionalmente podemos indicar un nombre más amigable para mostrar en Zabbix Frontend.

En «Groups» añadiremos esta máquina remota en alguno de los grupos existentes, que podremos elegir mediante el botón «Select«.

«Agent interfaces» es donde indicaremos la dirección IP y/o el dominio (DNS) de la máquina remota, debiendo indicar en «Connect to» el método preferido.

Una vez terminada la introducción de datos, pasamos a la solapa «Templates» del mismo formulario:

En esta parte del formulario con el botón «Select» seleccionaremos plantillas para aplicar a la máquina remota. Por ejemplo, una plantilla interesante es «Template OS Linux«. Al terminar la selección haz click en el enlace «Add» (en el enlace, NO en el botón) para pasar las plantillas seleccionadas a la caja «Linked Templates«.

Cuando termines de añadir las plantillas puedes pulsar el botón «Add«, y la nueva máquina remota se añadirá a la configuración de Zabbix. De hecho, se nos redirige automáticamente a «Configuration» / «Hosts«, donde podemos ver en la zona inferior de la página la nueva máquina remota que acabamos de añadir:

Es importante incluir las plantillas adecuadas porque contienen servicios, gráficos, etc. predefinidos que nos ahorrarán mucho tiempo al configurar la monitorización de la máquina CentOS 7 remota.

Por ejemplo, la máquina que acabamos de añadir a Zabbix dispone de varios gráficos predefinidos. Visitamos la sección «Monitoring» / «Graphs» y seleccionamos en el desplegable «Host» la máquina remota y en «Graph» el tipo de gráfica que queremos ver:

Así de fácil.

Conclusión

Ya sabes cómo instalar Zabbix 4.2 en CentOS 7, aunque ha hecho falta recorrer un largo camino plagado de obstáculos. Ahora podrás monitorizar tus servidores y máquinas VPS CentOS de una forma intuitiva y muy visual.

En caso de dudas, preguntas, sugerencias, etc. deja un comentario a continuación.

¡Apoya este sitio!

¿Ha sido esta guía de instalación de Zabbix 4.2 en CentOS 7 definitiva para conseguir tu objetivo? Si es así, y estás tan satisfecho que quieres agradecérnoslo, pues contribuir mínimanete al mantenimiento de esta página y creación de nuevas guías y tutoriales. ¡Gracias!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 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