Cómo instalar Zabbix 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 desde máquinas de tu red local hasta servidores VPS CentOS remotos. 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

Para poder seguir y completar esta guía de instalación y configuración de Zabbix en CentOS 7 debes partir de los siguientes requisitos:

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

Cómo instalar Zabbix 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.4, 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.4 para CentOS 7, que podemos encontrar en su sitio web oficial:

como descargar zabbix 4.2 para centos 7

Instalar el repositorio de Zabbix para CentOS 7

Tenemos que instalar el repositorio de Zabbix 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.4 para CentOS 7 desde consola directamente con yum:

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

Recuerda instalar este repositorio en todas las máquinas CentOS 7 que quieras monitorizar remotamente desde el servidor Zabbix que vamos a configurar a continuación.

Con el nuevo repositorio de Zabbix 4.4 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 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.4, 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.

Si usas PHP 7.x y tu sistema de bases de datos es MariaDB/MySQL, antes de instalar Zabbix instala el paquete php-pecl-mysql:

~$ sudo yum install -y php-pecl-mysql

Procederemos a instalar los paquetes de Zabbix:

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

Recargamos el servidor web, ya que entre las dependencias instaladas figuran configuraciones del mismo y 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

Si tienes activado SELinux en CentOS 7, como suele ocurrir por defecto, con Zabbix Agent no suele haber problemas, pero sí los hay con Zabbix Server. De hecho el servicio no llega a levantar, reintentándolo una y otra vez sin éxito, ya que SELinux lo impide.

La mejor solución es desactivar 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;

Para MariaDB o MySQL 5, creamos el usuario de la forma acostumbrada:

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

Para MySQL 8 al crear el usuario conviene especificar el plugin de autenticación adecuado:

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

A continuación concedemos al usuario los permisos sobre la nueva base:

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

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.4.1/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

Zabbix viene configurado para trabajar con la versión nativa de PHP en CentOS 7 (PHP 5), por lo que si tenemos instalado PHP 7 algunas cosas no estarán listas para funcionar.

En el caso de usar PHP 7.x debemos editar el archivo de configuración de Zabbix para Apache:

~$ sudo nano /etc/httpd/conf.d/zabbix.conf

Dentro del bloque Directory para el directorio /usr/share/zabbix existe un bloque de configuración de valores de PHP:

<Directory "/usr/share/zabbix">
...
    <IfModule mod_php5.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        # php_value date.timezone Europe/Riga
    </IfModule>
...

Lo que haremos será renombrar el módulo como mod_php7.c:

<Directory "/usr/share/zabbix">
...
    <IfModule mod_php7.c>
...

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.4 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.4 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.4 en centos 7

Y por fin llegamos al final del proceso:

como instalar zabbix server en centos 7

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:

zabbix en centos 7

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«:

como configurar zabbix en centos 7

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

configurar zabbix en centos 7

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:

configuracion de zabbix en centos 7

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