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.
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.
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.
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 ‘hakase-labs@’.
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 zabbix@'localhost' identified by 'hakase-labs@';
grant all privileges on zabbix.* to zabbix@'%' identified by 'hakase-labs@';
flush privileges;
Y como resultado, se ha creado la nueva base de datos y el usuario para la instalación de 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.
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.
– 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
DBPassword=hakase-labs@
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.
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.
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.
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.
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.
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.
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.
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.
Y cuando la instalación se haya completado, obtendrás la página que se muestra a continuación.
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’.
Y obtendrás el panel de control de Zabbix por defecto.
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.
Haz clic en el botón «Cambiar contraseña» y escribe tu nueva 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.