Cómo instalar la herramienta de monitorización Zabbix en CentOS 8

Zabbix es una herramienta de monitorización de código abierto para servicios de red, hardware de red, servidores y aplicaciones. Está diseñada para rastrear y supervisar el estado de tu sistema y tus servidores. Zabbix ofrece soporte para muchos sistemas de bases de datos -como MySQL, PostgreSQL, SQLite e IBM DB2- para almacenar datos. El backend de Zabbix está escrito en C, y el frontend está escrito en PHP.

En este tutorial, te mostraremos paso a paso cómo instalar y configurar el sistema de monitorización de código abierto Zabbix 4.0 LTS en el sistema CentOS 8. Esta guía cubrirá algunos temas, incluyendo la instalación y configuración de la pila LAMP para nuestra instalación de Zabbix, y cómo cambiar la contraseña por defecto para la interfaz web de administración de Zabbix.

Requisitos previos

  • Servidor CentOS 8
  • Privilegios de root
  • Conocimientos básicos sobre los comandos de Linux CentOS

Qué vamos a hacer

  • Instalar Apache Httpd
  • Instalar y configurar PHP
  • Instalar y configurar MariaDB
  • Instalar y configurar Zabbix 4.0 LTS
  • Configurar Firewalld
  • Configurar SELinux
  • Post-Instalación de Zabbix
  • Cambiar la administración por defecto de Zabbix

Paso 1 – Instalar Apache Httpd

Para esta guía, vamos a utilizar el Apache/httpd para nuestro servidor web. El servidor Zabbix se ejecutará bajo el servidor web Apache.

Puedes instalar el paquete Apache/httpd utilizando el comando dnf que aparece a continuación.

dnf install httpd

Una vez completada la instalación, añade el servicio httpd al arranque del sistema e inicia el servicio utilizando los siguientes comandos.

systemctl enable httpd
systemctl start httpd

Ahora comprueba el servicio httpd utilizando el siguiente comando netstat y asegúrate de que el puerto HTTP ’80’ está en estado ‘LISTEN’.

netstat -plntu

A continuación se muestra el resultado.

Activar el servidor web Apache

Como resultado, el servicio httpd está funcionando en el puerto HTTP ’80’ por defecto en el servidor CentOS 8.

Paso 2 – Instalar PHP

Después de instalar el servidor web Apache/httpd, vamos a instalar los paquetes PHP y sus extensiones necesarias para la instalación de Zabbix. Vamos a instalar y configurar PHP según los requisitos de instalación de Zabbix.

Instala los paquetes PHP con el comando dnf que aparece a continuación.

dnf install php-cli php-common php-devel php-pear php-gd php-mbstring php-mysqlnd php-xml php-bcmath

Una vez completada la instalación, configura la configuración de PHP ‘/etc/php.ini’ utilizando el editor vim.

vim /etc/php.ini

Cambia los valores de la configuración como se muestra a continuación.

date.timezone = Asia/Jakarta
max_execution_time = 600
max_input_time = 600
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 16M

Guarda y cierra.

Ahora reinicia el servicio Apache/httpd.

systemctl restart httpd

Y la instalación y configuración de PHP en el servidor CentOS 8 se ha completado.

Instalar PHP

Paso 3 – Instalar y configurar MariaDB

Por defecto, Zabbix ofrece soporte para muchas bases de datos para la instalación, incluyendo MySQL, PostgreSQL, SQLite y la base de datos Oracle. Para esta guía, utilizaremos MariaDB como base de datos para nuestra instalación de Zabbix.

Instala mariadb-server utilizando el comando dnf que aparece a continuación.

dnf install mariadb-server

Una vez completada la instalación, añade el servicio MariaDB al arranque del sistema e inicia el servicio con el siguiente comando.

systemctl enable mariadb
systemctl start mariadb

El servidor MariaDB está en funcionamiento.

A continuación, vamos a configurar la contraseña de root de MariaDB. Ejecuta el siguiente comando ‘mysql_secure_installation’ para configurar la contraseña de root.

mysql_secure_installation

Escribe tu contraseña de root y pulsa Intro.

Set a root password? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Y la contraseña raíz de MariaDB ha sido configurada.

Instalar MariaDB

A continuación, vamos a crear una nueva base de datos y un nuevo usuario para la instalación de Zabbix. Crearemos una nueva base de datos y un usuario llamado ‘zabbix’ con la contraseña ‘h[email protected]’.

Accede al shell de MariaDB/mysql utilizando el comando mysql que aparece a continuación.

mysql -u root -p
TYPE YOUR ROOT PASSWORD:

Y ejecuta las siguientes consultas MariaDB en la shell.

create database zabbix; 
grant all privileges on zabbix.* to [email protected]'localhost' identified by '[email protected]';
grant all privileges on zabbix.* to [email protected]'%' identified by '[email protected]';
flush privileges;

Y como resultado, se ha creado la nueva base de datos y el usuario para la instalación de Zabbix.

Crear base de datos zabbix

Paso 4 – Instalar y configurar Zabbix 4.0 LTS

En este paso, vamos a instalar Zabbix 4.0 LTS. Instalaremos la versión Zabbix LTS desde el repositorio oficial de Zabbix.

– Añadir el repositorio e instalar los paquetes

En primer lugar, tenemos que añadir el repositorio de Zabbix 4.0 LTS al sistema utilizando el comando rpm que aparece a continuación.

rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm

Después, elimina la caché de paquetes del sistema y comprueba todos los repositorios disponibles en el sistema.

dnf clean all
dnf repolist

Ahora obtendrás el resultado que se muestra a continuación.

Instalar el archivo RPM de Zabbix

Como resultado, el repositorio de Zabbix se ha añadido al sistema CentOS 8.

Ahora ejecuta el comando dnf que aparece a continuación para instalar el servidor y el agente de Zabbix.

dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

Espera a que termine la instalación de Zabbix.

Gambar

– Importar el esquema de la base de datos MySQL

Una vez terminada la instalación de Zabbix, vamos a importar el esquema de la base de datos MariaDB para Zabbix.

Ve al directorio ‘/usr/share/doc/zabbix-server-mysql’ y extrae el esquema de la base de datos.

cd /usr/share/doc/zabbix-server-mysql
gunzip create.sql.gz

Ahora importa el esquema de la base de datos a nuestra base de datos ‘zabbix’ utilizando el siguiente comando de MySQL.

mysql -u root -p zabbix < create.sql

Escribe tu contraseña de root de MariaDB y el esquema de la base de datos se habrá importado.

Importar el esquema de la base de datos MySQL

– Configurar el Servidor Zabbix y el Agente Zabbix

El servidor Zabbix es el proceso central del sistema de software Zabbix. Configuraremos el servidor Zabbix editando la configuración ‘/etc/zabbix/zabbix_server.conf’.

Edita el archivo de configuración ‘/etc/zabbix/zabbix_server.conf’ utilizando el editor vim.

vim /etc/zabbix/zabbix_server.conf

En la línea de configuración de la base de datos, escribe la configuración como se indica a continuación y cambia el valor ‘DBPassword’ por tu propia contraseña de la base de datos.

DBHost=localhost
[email protected]

Guarda y cierra.

Después, añade el servidor zabbix al arranque del sistema.

systemctl enable zabbix-server

Y la configuración de zabbix-server se ha completado.

A continuación, te mostraremos la configuración del agente-zabbix. El agente-zabbix debe estar instalado en todas las máquinas que se van a monitorizar.

Edita la configuración del agente zabbix ‘/etc/zabbix/zabbix_agentd.conf’ utilizando el editor vim.

vim /etc/zabbix/zabbix_agentd.conf

Ahora cambia los valores ‘Servidor’ y ‘ServidorActivo’ con la dirección IP del servidor zabbix como se indica a continuación.

Server=10.5.5.50
ServerActive=10.5.5.50

Guarda y cierra.

Ahora añade el servicio zabbix-agent al arranque del sistema.

systemctl enable zabbix-agent

Y la configuración de zabbix-agent se ha completado.

Configurar el servidor Zabbix

Paso 5 – Configurar Firewalld

Para la configuración de firewalld, vamos a añadir nuevos servicios incluyendo HTTP, HTTPS, y el puerto que utiliza el servidor y el agente de Zabbix.

Añade los puertos HTTP, HTTPS y Zabbix ‘10050-10051’ al firewalld utilizando los siguientes comandos.

firewall-cmd --add-service={http,https} --permanent
firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent

Después, recarga el firewalld y comprueba todos los servicios y puertos disponibles en él.

firewall-cmd --reload
firewall-cmd --list-all

Y se te mostrará el resultado como se indica a continuación.

Configurar el cortafuegos

Como resultado, los puertos HTTP, HTTPS y Zabbix ‘10050-10051’ han sido añadidos al firewalld.

Paso 6 – Configurar SELinux

Si estás ejecutando Zabbix en CentOS 8 con SELinux habilitado, entonces debes realizar todos los comandos de esta sección.

Instala las utilidades de SELinux utilizando el comando dnf que aparece a continuación.

dnf install policycoreutils checkpolicy setroubleshoot-server

Una vez completada la instalación, crea un nuevo directorio ‘~/zabbix-linux’ y entra en él.

mkdir -p ~/zabbix-selinux
cd ~/zabbix-selinux/

Ahora crea un nuevo archivo de módulo de política SELinux ‘zabbix_server_add.te’ utilizando el editor vim.

vim zabbix_server_add.te

Pega la siguiente configuración.

module zabbix_server_add 1.1;

require {
        type zabbix_var_run_t;
        type tmp_t;
        type zabbix_t;
        class sock_file { create unlink write };
        class unix_stream_socket connectto;
        class process setrlimit;
        class capability dac_override;
}

#============= zabbix_t ==============

#!!!! This avc is allowed in the current policy
allow zabbix_t self:process setrlimit;

#!!!! This avc is allowed in the current policy
allow zabbix_t self:unix_stream_socket connectto;

#!!!! This avc is allowed in the current policy
allow zabbix_t tmp_t:sock_file { create unlink write };

#!!!! This avc is allowed in the current policy
allow zabbix_t zabbix_var_run_t:sock_file { create unlink write };

#!!!! This avc is allowed in the current policy
allow zabbix_t self:capability dac_override;

Guarda y cierra.

Ahora convierte el archivo ‘zabbix_server_add.te’ en el módulo de política utilizando el comando checkmodule que aparece a continuación.

checkmodule -M -m -o zabbix_server_add.mod zabbix_server_add.te

Ahora compila el módulo de política ‘zabbix_server_add.mod’ utilizando el comando semodule_package.

semodule_package -m zabbix_server_add.mod -o zabbix_server_add.pp

Después, carga el módulo de política compilado ‘zabbix_server_add.pp’ en el sistema.

semodule -i zabbix_server_add.pp

Se ha cargado el módulo de política local personalizado para Zabbix.

Configurar SELinux

A continuación, para la configuración adicional de SELinux. Ejecuta el siguiente comando setsbool.

setsebool -P httpd_can_network_connect 1
setsebool -P httpd_can_connect_zabbix 1
setsebool zabbix_can_network on

Y la configuración de SELinux para Zabbix se ha completado.

Paso 7 – Configuración inicial de Zabbix

En primer lugar, inicia el servidor zabbix con los siguientes comandos.

systemctl start zabbix-server
systemctl status zabbix-server

Ahora inicia el servicio zabbix-agent.

systemctl start zabbix-agent
systemctl status zabbix-agent

Y luego reinicia el servicio httpd.

systemctl restart httpd

A continuación, abre tu navegador web y escribe la dirección IP del servidor de la siguiente manera

http://10.5.5.50/zabbix/

Y obtendrás el mensaje de bienvenida de Zabbix.

Instalador web de Zabbix

Haz clic en el botón «Paso siguiente».

Ahora, Zabbix comprobará todos los requisitos del sistema para su instalación. Asegúrate de que no hay ningún error.

Comprueba los requisitos previos

Haz clic en el botón «Paso siguiente».

Para la información de la base de datos, escribe toda la configuración de tu base de datos.

Configurar la base de datos

Y haz clic en el botón ‘Paso siguiente’.

Ahora viene la configuración de los detalles del servidor Zabbix. En el campo «Host», escribe la dirección IP de tu servidor y cambia el nombre por tu propio nombre de dominio o de host.

Detalles del servidor Zabbix

Vuelve a hacer clic en el botón «Paso siguiente».

Asegúrate de que todas esas configuraciones son correctas, y luego haz clic en el «Botón Siguiente» para instalar Zabbix.

resumen de preinstalación

Y cuando la instalación se haya completado, obtendrás la página que se muestra a continuación.

Instalación realizada con éxito

Haz clic en el botón «Finalizar» y serás redirigido a la página de inicio de sesión de Zabbix.

Inicia sesión con el usuario predeterminado ‘admin’ y la contraseña ‘zabbix’.

Acceso a Zabbix

Y obtendrás el panel de control de Zabbix por defecto.

Panel de control de Zabbix

Y la instalación de Zabbix se ha completado.

Paso 8 – Cambiar la contraseña de administrador por defecto

Para este último paso, vamos a cambiar la contraseña de administrador por defecto de zabbix.

En el panel de administración de Zabbix, haz clic en el icono de usuario de la parte superior derecha.

Cambiar contraseña

Haz clic en el botón «Cambiar contraseña» y escribe tu nueva contraseña.

Confirmar contraseña

Ahora haz clic en el botón «Actualizar», y la contraseña de administrador por defecto ha sido cambiada.

Y la instalación y configuración de Zabbix en el sistema CentOS 8 se ha completado con éxito.

Referencia

También te podría gustar...