Hoy vamos a ver los pasos para instalar Zabbix en CentOS 8, por medio de repositorios y con un simple copiar y pegar, en cuestión de minutos vas a tener un servidor de monitoreo gratis y totalmente funcional.
1- Instalando Zabbix última versión
Podemos chequear la última versión en: https://repo.zabbix.com/zabbix
Hacemos la instalación de los repositorios:
rpm -Uvh https://repo.zabbix.com/zabbix/5.2/rhel/8/x86_64/zabbix-release-5.2-1.el8.noarch.rpm
Actualizamos e instalamos zabbix
dnf update
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent2
2- Base de datos
Vamos a instalar mariadb y en la misma línea iniciar y activar el servicio.
dnf -y install mariadb-server && systemctl start mariadb && systemctl enable mariadb
Lanzamos la instalación segura
mysql_secure_installation
Vamos a crear la base de datos, crear usuario y asignarle los permisos para que pueda manipular la base de datos.
mysql -uroot -p'rootDBpass' -e "create database zabbix character set utf8 collate utf8_bin;" mysql -uroot -p'rootDBpass' -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbixDBpass';"
Importación inicial de esquema y datos.
Primero vamos a desactivar el modo estricto
mysql -uroot -p'rootDBpass' zabbix -e "set global innodb_strict_mode='OFF';"
Segundo, importamos
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p'zabbixDBpass' zabbix
Tercero activamos el modo estricto
mysql -uroot -p'rootDBpass' zabbix -e "set global innodb_strict_mode='ON';"
3- SELinux
Instalar paquete para manejar las políticas de SELinux
dnf install -y policycoreutils-python-utils
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:
semanage permissive -a zabbix_t
Permitiremos que la aplicación del Frontend de Zabbix pueda realizar conexiones de red a través del servicio web:
setsebool -P httpd_can_network_connect on
4- Configuramos el password de la base de datos en el archivo principal de configuración de Zabbix_server
nano /etc/zabbix/zabbix_server.conf
Buscamos la linea que dice DBPassword y colocamos el pass correspondiente
DBPassword=zabbixDBpass
5- Configurar Timezone
nano /etc/php-fpm.d/zabbix.conf
Buscamos la linea de timezone y colocamos el que corresponda a nuestro país, recordá descomentarla.
php_value date.timezone America/Argentina/Buenos_Aires
Reiniciar apache y php
systemctl restart httpd php-fpm && systemctl enable httpd php-fpm
6- Iniciamos zabbix server, el agente y los habilitamos.
systemctl restart zabbix-server zabbix-agent2 && systemctl enable zabbix-server zabbix-agent2
7- Firewall
Para que máquinas remotas se puedan conectar a este servidor Zabbix, será necesario abrir el puerto del servicio zabbix-server que es el 10051/tcp y 10050/tcp. Y también vamos a habilitar los servicios de http y https.
firewall-cmd --add-service={http,https} --permanent firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent firewall-cmd --reload
8- Instalación web
Abrimos el navegador y lanzamos http://IP_Server/Zabbix
Una vez instalado ingresamos con el password por defecto de zabbix que es Admin con a mayúscula:
- Usuario: Admin
- Password: zabbix
9- Ajustes del agente
nano /etc/zabbix/web/zabbix.conf.php
>$ZBX_SERVER = 'IP'; >$ZBX_SERVER_PORT = '10051'; >$ZBX_SERVER_NAME = 'nombre_server';
Finalmente el video con todo explicado paso a paso: