Te dejo la guía para instalar paso a paso un Zabbix Proxy en RHEL 8, 9 y 10, también sirve para CentOS, Almalinux, Rocky Linux y otros derivados de RHEL.
NOTA: Si necesitan otra versión o quieren usar un repo específco para su SO, los van a encontrar en: https://www.zabbix.com/download
Pero antes… ¿Qué es un Zabbix Proxy?
Un Zabbix Proxy es un componente intermedio de Zabbix que permite recolectar métricas desde equipos monitoreados y enviarlas posteriormente al Zabbix Server.
Básicamente es un “soldado adelantado” del monitoreo.
En vez de que el servidor Zabbix principal tenga que conectarse directamente a cientos o miles de equipos distribuidos por distintas redes, sucursales o zonas geográficas, el Proxy se instala cerca de esos equipos, junta la información y se la entrega al servidor central.
¿Para qué sirve?
Principalmente para:
- Monitorear redes remotas sin exponer todos los equipos hacia el Zabbix Server.
- Reducir tráfico entre sedes y el servidor central.
- Distribuir la carga cuando existen muchos dispositivos monitoreados.
- Monitorear ambientes donde la conexión hacia el servidor principal es limitada o intermitente.
- Tener una capa adicional de seguridad usando cifrado PSK.
Ejemplo típico:
Tienes una empresa con una casa matriz y 20 sucursales.
En vez de abrir conexiones desde el Zabbix Server hacia cada servidor, switch, router o cámara de cada sucursal, instalas un Zabbix Proxy dentro de cada ubicación.
El Proxy monitorea todo localmente y solamente necesita comunicarse con el Zabbix Server.
Menos reglas de firewall, menos tráfico innecesario y menos dolores de cabeza.
En ambientes pequeños quizás no lo necesitas, pero cuando empiezas a crecer, tener un Proxy bien configurado puede ser la diferencia entre un monitoreo ordenado y un Zabbix convertido en una olla a presión.
Modo activo y modo pasivo en Zabbix Proxy
Zabbix Proxy puede trabajar principalmente en dos modos de comunicación: activo y pasivo.
La diferencia está en quién inicia la conexión. Y depende de esto es como vas a tener que configurar tus reglas de firewall.
Proxy activo
En modo activo, el Zabbix Proxy inicia la conexión hacia el Zabbix Server.
El Proxy se conecta periódicamente, envía los datos recolectados y recibe las tareas pendientes de monitoreo.
Este modo es el más utilizado en ambientes distribuidos, especialmente cuando el Proxy está detrás de un firewall, NAT o en una red donde no queremos permitir conexiones entrantes.
Ejemplo:
Una sucursal tiene un Proxy Zabbix detrás de su firewall. El Proxy sale hacia el servidor central por una conexión segura y reporta la información.
Ventajas:
- No requiere abrir puertos entrantes hacia la sucursal.
- Funciona mejor en redes con restricciones.
- Reduce la complejidad de las reglas de firewall.
- Es ideal para sedes remotas.
En resumen: El único requisito es que el Proxy Zabbix pueda conectarse hacia el servidor Zabbix en el puerto TCP 10051. No es necesario hacer NAT ni nada, sólo permitir la salida.
Proxy pasivo
En modo pasivo, el Zabbix Server inicia la conexión hacia el Proxy para solicitar los datos.
Esto significa que el servidor central necesita poder comunicarse directamente con el Proxy Zabbix.
Puede ser útil en redes internas donde existe conectividad directa y controlada, pero suele ser menos conveniente para ambientes distribuidos.
Ejemplo:
Un Proxy dentro del mismo datacenter que el Zabbix Server, donde ambos equipos pueden comunicarse directamente sin restricciones.
Ventajas:
- Configuración más simple en redes internas.
- El servidor tiene control directo sobre la comunicación.
En resumen: Es necesario abrir puertos de entrada y hacer NAT hacia el puerto TCP 10050 del Proxy Zabbix.
¿Cuál usar?
Para la mayoría de ambientes empresariales, especialmente con sucursales, clientes externos o redes separadas, el modo activo suele ser la mejor opción.
Menos reglas de firewall, menos exposición y menos posibilidades de terminar peleando con una ACL a las 3 de la mañana.
Vamos a lo que vinimos.
Vamos a usar:
- RHEL 8, 9 y 10 (o algún sucedáneo compatible)
- Zabbix 7.4
- MySQL 8.4 LTS
- PSK para cifrar la comunicación entre Proxy y Server
La idea es simple:
Instalar, configurar y dejar un proxy funcionando como la gente.
1. INSTALAR MYSQL 8.4 LTS
Vamos a partir por la base de datos.
Ojo acá:
No instales cualquier versión nueva porque viste un número más grande.
MySQL 9.x puede sonar más moderno, pero Zabbix todavía se pone medio mañoso con algunas versiones nuevas o muy viejas, debe ser mayor a 8.00.30 y menor a 9.6.x.
Nos vamos por la versión estable:
MySQL 8.4 LTS.
RHEL 8
dnf install https://repo.mysql.com/mysql84-community-release-el8-3.noarch.rpm -y
RHEL 9
dnf install https://repo.mysql.com/mysql84-community-release-el9-3.noarch.rpm -y
RHEL 10
dnf install https://repo.mysql.com/mysql84-community-release-el10-2.noarch.rpm -y
Ahora dejamos activo solamente el repositorio correcto:
dnf config-manager --enable mysql-8.4-lts-community
Deshabilitamos cualquier repo que pueda meter ruido:
dnf config-manager --disable mysql-9.7-lts-community
Instalamos MySQL:
dnf install mysql-community-server -y
Levantamos el servicio:
systemctl enable --now mysqld
Buscamos la contraseña temporal generada por MySQL:
grep "temporary password" /var/log/mysqld.log
NOTA: Si no aparece la clave temporal, es porque MySQL no tiene password, sigan adelante no más.
Enjecutamos:
mysql_secure_installation
Esto les va a preguntar:
- Password de root: Le dan la temporal que buscamos en el log
- Nueva password de root: Pongan algo fuerte por el amor de dios!
- Verificar la pass: No necesita explicación ¿cierto?
- Remover usuario anónimo: Si!
- Bloquear conexiones remotas del root: Si!
- Remover la DB de test: Si!
Listo.
MySQL instalado y sin dramas.
2. CREAR BASE DE DATOS DEL ZABBIX PROXY
Entramos nuevamente a MySQL:
mysql -uroot -p'TuClaveFuerte2026!'
Creamos la base de datos:
CREATE DATABASE zabbix_proxy CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
Creamos el usuario:
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'TuClaveFuerte2026';
Asignamos permisos:
GRANT ALL PRIVILEGES ON zabbix_proxy.* TO 'zabbix'@'localhost';
Aplicamos cambios:
FLUSH PRIVILEGES;
Salimos:
exit
Ahora importamos el esquema del proxy:
cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql -uzabbix -p'TuClaveFuerte2026' zabbix_proxy
Si esto falla, no sigas avanzando.
Arregla primero el problema, si la DB no funciona, no va a funcionar nada.
3. INSTALAR ZABBIX PROXY
Ahora instalamos el paquete del proxy.
Primero agregamos el repositorio oficial de Zabbix.
RHEL 8
rpm -Uvh https://repo.zabbix.com/zabbix/7.4/release/rhel/8/noarch/zabbix-release-latest-7.4.el8.noarch.rpm
RHEL 9
rpm -Uvh https://repo.zabbix.com/zabbix/7.4/release/rhel/9/noarch/zabbix-release-latest-7.4.el9.noarch.rpm
RHEL 10
rpm -Uvh https://repo.zabbix.com/zabbix/7.4/release/rhel/10/noarch/zabbix-release-latest-7.4.el10.noarch.rpm
Actualizamos la información de los repos:
dnf clean all
dnf makecache
Instalamos el proxy con soporte MySQL:
dnf install zabbix-proxy-mysql zabbix-sql-scripts -y
Y listo, ya tenemos el proxy instalado.
Ahora viene la parte sabrosa, configurarlo.
4. CONFIGURAR ZABBIX PROXY
Editamos el archivo principal:
vim /etc/zabbix/zabbix_proxy.conf
La configuración base debería quedar así:
Server=monitoreo.orangebox.cl
Hostname=zbproxy.orangebox.cl
ProxyMode=0
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=TuPASSWORD
DBHost=localhost
DBPort=3306
PidFile=/run/zabbix/zabbix_proxy.pid
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=10
LogType=file
DebugLevel=3
StartVMwareCollectors=2
VMwareCacheSize=64M
Timeout=60
Explicación rápida:
Server:
Es el nombre o IP del Zabbix Server al cual se conectará el proxy.
Hostname:
Tiene que ser exactamente igual al nombre que crearás después en la interfaz web de Zabbix.
Si aquí pones:
zbproxy01
Y en la web creas:
proxy-produccion
No va a funcionar.
ProxyMode:
El valor por defecto es 0 (modo Activo), 1 corresponde al modo pasivo.
5. CONFIGURAR PSK PARA CIFRADO
Ahora vamos a proteger la comunicación entre Proxy y Server.
Porque mandar datos de monitoreo sin cifrar en 2026 es básicamente dejar la puerta abierta con un cartel que dice:
“Pasen, está todo servido”.
Generamos una clave PSK:
openssl rand -hex 32 | tee /etc/zabbix/zabbix_proxy.psk
Ajustamos permisos:
chown zabbix:zabbix /etc/zabbix/zabbix_proxy.psk
chmod 600 /etc/zabbix/zabbix_proxy.psk
Ahora editamos nuevamente:
vim /etc/zabbix/zabbix_proxy.conf
Agregamos al final:
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=PSK_PROXY_OrangeBox_001
TLSPSKFile=/etc/zabbix/zabbix_proxy.psk
Guarda bien estos datos.
El valor:
TLSPSKIdentity y la llave zabbix_proxy.psk
Debe ser exactamente el mismo que configures después en la interfaz web.
7. REVISAR LOGS
Ahora viene la herramienta más poderosa de Linux:
Mejor que cualquier bola de cristal, el log.
El el único poseedor de la verdad absoluta, el log es el que sabe qué está pasando.
Revisamos:
tail -f /var/log/zabbix/zabbix_proxy.log
Errores comunes:
unsupported MySQL database version
Traducción:
Instalaste una versión de MySQL que Zabbix no quiere.
Revisa la versión instalada.
couldn’t resolve host name
Traducción:
El servidor no sabe llegar al destino.
Revisa DNS:
hostname -f
ping monitoreo.orangebox.cl
8. REGISTRAR EL PROXY EN ZABBIX SERVER
Ahora nos vamos a la interfaz web de Zabbix.
Ruta:
Administration -> Proxies
Creamos un proxy nuevo.
El nombre debe ser exactamente igual al configurado anteriormente:
Hostname=zbproxy.orangebox.cl
Seleccionamos:
Proxy mode: Active
En la sección de cifrado:
Seleccionamos:
PSK
Configuramos:
PSK identity:
PSK_PROXY_OrangeBox_001
Y pegamos el contenido generado en:
/etc/zabbix/zabbix_proxy.psk
Guardamos.
LIZ TAYLOR!
Si todo salió bien, ya tienes un Zabbix Proxy funcionando con:
- Base de datos MySQL 8.4 LTS
- Comunicación cifrada con PSK
- Servicio administrado por systemd
- Soporte para ambientes RHEL 8, 9 y 10
Si algo falla, no empieces a cambiar parámetros al azar.
Mira el log primero:
tail -100 /var/log/zabbix/zabbix_proxy.log
¿El proxy sigue peleando contigo?
Si después de seguir la guía Zabbix sigue tirando errores dignos de una novela de terror, tranquilo, pasa más seguido de lo que parece.
En OrangeBox ayudamos a empresas con servidores Linux, monitoreo Zabbix y plataformas críticas donde “reiniciar y ver qué pasa” no es una estrategia.
Más información:
https://www.orangebox.cl
Saludos!