1 Proxies
Resumen
Un Zabbix proxy puede recopilar datos de rendimiento y disponibilidad en nombre del Zabbix server. De este modo, un proxy puede asumir parte de la carga de recopilación de datos y descargar al Zabbix server.
Además, usar un proxy es la forma más sencilla de implementar una supervisión centralizada y distribuida, cuando todos los agents y proxies informan a un solo Zabbix server y todos los datos se recopilan de forma centralizada.
Un Zabbix proxy se puede usar para:
- Supervisar ubicaciones remotas
- Supervisar ubicaciones con comunicaciones poco fiables
- Descargar al Zabbix server cuando se supervisan miles de dispositivos
- Simplificar el mantenimiento de la supervisión distribuida

El proxy requiere solo una conexión TCP con el Zabbix server. De este modo, es más fácil sortear un firewall, ya que solo necesita configurar una regla de firewall.
Zabbix proxy debe usar una base de datos independiente. Apuntarlo a la base de datos del Zabbix server romperá la configuración.
Todos los datos recopilados por el proxy se almacenan localmente antes de enviarse al server. De este modo, no se pierde ningún dato debido a problemas temporales de comunicación con el server. Los parámetros ProxyLocalBuffer y ProxyOfflineBuffer en el archivo de configuración del proxy controlan durante cuánto tiempo se conservan los datos localmente.
Puede ocurrir que un proxy, que recibe los últimos cambios de configuración directamente desde la base de datos del Zabbix server, tenga una configuración más actualizada que el Zabbix server, cuya configuración puede no actualizarse tan rápido debido al valor de CacheUpdateFrequency. Como resultado, el proxy puede empezar a recopilar datos y enviarlos al Zabbix server, que ignora esos datos.
Zabbix proxy es un recopilador de datos. No calcula triggers, no procesa eventos ni envía alertas. Para obtener una visión general de la funcionalidad del proxy, revise la siguiente tabla:
| Function | Supported by proxy | |
|---|---|---|
| Items | ||
| Zabbix agent checks | Yes | |
| Zabbix agent checks (active) | Yes 1 | |
| Simple checks | Yes | |
| Trapper items | Yes | |
| SNMP checks | Yes | |
| SNMP traps | Yes | |
| IPMI checks | Yes | |
| JMX checks | Yes | |
| Log file monitoring | Yes | |
| Internal checks | Yes | |
| SSH checks | Yes | |
| Telnet checks | Yes | |
| External checks | Yes | |
| Dependent items | Yes | |
| Script items | Yes | |
| Browser items | Yes | |
| Built-in web monitoring | Yes | |
| Item value preprocessing | Yes | |
| Network discovery | Yes | |
| Active agent autoregistration | Yes | |
| Low-level discovery | Yes 2 | |
| Remote commands | Yes | |
| Calculating triggers | No | |
| Processing events | No | |
| Event correlation | No | |
| Sending alerts | No | |
[1] Para asegurarse de que un agent solicite al proxy (y no al server) las comprobaciones activas, el proxy debe estar incluido en el parámetro ServerActive del archivo de configuración del agent.
[2] Para LLD, Zabbix proxy solo recopila y preprocesa los datos y luego los envía al Zabbix server para su procesamiento posterior.
Protección contra sobrecargas
Si el servidor Zabbix estuvo inactivo durante algún tiempo y los proxies han recopilado muchos datos, y luego el servidor se inicia, puede sobrecargarse (el uso de la caché de historial permanece en 95-100% durante algún tiempo). Esta sobrecarga podría resultar en una disminución del rendimiento, donde las comprobaciones se procesan más lentamente de lo que deberían. Se implementó una protección contra este escenario para evitar problemas que surgen debido a la sobrecarga de la caché de historial.
Cuando la caché de historial del servidor Zabbix está llena, el acceso de escritura a la caché de historial se regula, deteniendo los procesos de recopilación de datos del servidor. El caso más común de sobrecarga de la caché de historial es después de una caída del servidor cuando los proxies están subiendo los datos recopilados. Para evitar esto, se añadió la regulación de los proxies (actualmente no se puede deshabilitar).
Cuando el uso de la caché de historial alcanza el 80%, el servidor Zabbix entra en modo de regulación. En modo de regulación, el servidor acepta datos de los proxies solo cuando el uso de la caché de historial está por debajo del 60%, rotando los proxies aceptados. Una vez que el uso de la caché de historial cae por debajo del 20%, el servidor vuelve al modo normal.
Además, en modo normal, el servidor Zabbix regula los proxies individuales que envían paquetes muy grandes (más de 10.000 registros) si el uso de la caché de historial supera el 60%.
Esta decisión se aplica en el instante en que el servidor evalúa una carga de proxy y, por lo tanto, puede que no siempre se refleje inmediatamente en los gráficos de uso de la caché de historial (el elemento interno zabbix[wcache,history,pused] y su intervalo de actualización pueden no captar picos breves).
Este modo de regulación continuará hasta que el uso de la caché alcance nuevamente el 80%, caiga al 20% o la lista de regulación esté vacía. En el primer caso, el servidor dejará de aceptar datos de los proxies nuevamente. En los otros dos casos, el servidor comenzará a funcionar normalmente, aceptando datos de todos los proxies.
La información anterior se puede ilustrar en la siguiente tabla:
| Uso de la caché de escritura de historial |
Modo del servidor Zabbix | Acción del servidor Zabbix |
|---|---|---|
| Alcanza el 80% | Espera | Deja de aceptar datos de los proxies, pero mantiene una lista de regulación (lista priorizada de proxies a contactar más tarde). |
| Alcanza el 60% | Normal, pero preparado para ser regulado | Puede rechazar cargas de proxy muy grandes (más de 10k registros) al decidir si acepta datos; continúa aceptando otros datos de proxies. |
| Cae al 20% | Normal | Elimina la lista de regulación y comienza a aceptar datos de los proxies normalmente. |
Puede utilizar el elemento interno zabbix[wcache,history,pused] para correlacionar este comportamiento del servidor Zabbix con una métrica.
Configuración
Una vez que haya instalado y configurado un proxy, es momento de configurarlo en el frontend de Zabbix.
Añadir proxies
Para configurar un proxy en Zabbix frontend:
- Vaya a: Administration > Proxies
- Haga clic en Create proxy

| Parameter | Description | |
|---|---|---|
| Proxy name | Introduzca el nombre del proxy. Debe ser el mismo nombre que en el parámetro Hostname del archivo de configuración del proxy. | |
| Proxy group | Seleccione un grupo de proxy para el balanceo de carga/alta disponibilidad del proxy. | |
| Address for active agents | Introduzca la dirección a la que deben conectarse los active agents o remitentes monitorizados. Compatible solo con agents de Zabbix 7.0 o posteriores. Esta dirección se usa para conectarse tanto a proxies activos como pasivos. Este campo solo está disponible si se selecciona un grupo de proxy en el campo Proxy group. |
|
| Address | Dirección IP/nombre DNS al que conectarse. | |
| Port | Número de puerto TCP (10051 por defecto) al que conectarse. Se admiten macros de usuario. | |
| Proxy mode | Seleccione el modo del proxy. Active - el proxy se conectará al server de Zabbix y solicitará datos de configuración Passive - el server de Zabbix se conecta al proxy Note que, sin comunicaciones cifradas, los datos de configuración del proxy (sensibles) pueden quedar disponibles para terceros que tengan acceso al puerto trapper del server de Zabbix cuando se usa un proxy activo. Esto es posible porque cualquiera puede hacerse pasar por un proxy activo y solicitar datos de configuración si no se realiza autenticación o si las direcciones del proxy no están limitadas en el campo Proxy address. |
|
| Proxy address | Si se especifica, las solicitudes del proxy activo solo se aceptan desde esta lista de direcciones IP separadas por comas, opcionalmente en notación CIDR, o nombres DNS del proxy activo de Zabbix. Este campo solo está disponible si se selecciona un proxy activo en el campo Proxy mode. No se admiten macros. |
|
| Interface | Introduzca los detalles de la interfaz para un proxy pasivo. Este campo solo está disponible si se selecciona un proxy pasivo en el campo Proxy mode. |
|
| Address | Dirección IP/nombre DNS del proxy pasivo. | |
| Port | Número de puerto TCP del proxy pasivo (10051 por defecto). Se admiten macros de usuario. | |
| Description | Introduzca la descripción del proxy. | |
La pestaña Encryption permite exigir conexiones cifradas con el proxy.
| Parameter | Description |
|---|---|
| Connections to proxy | Cómo se conecta el server al proxy pasivo: sin cifrado (predeterminado), usando PSK (clave previamente compartida) o certificado. |
| Connections from proxy | Seleccione qué tipo de conexiones se permiten desde el proxy activo. Se pueden seleccionar varios tipos de conexión al mismo tiempo (útil para pruebas y para cambiar a otro tipo de conexión). El valor predeterminado es "No encryption". |
| Issuer | Emisor permitido del certificado. Primero se valida el certificado con la CA (autoridad certificadora). Si es válido y está firmado por la CA, entonces el campo Issuer puede usarse para restringir aún más la CA permitida. Este campo es opcional y está pensado para usarse si su instalación de Zabbix utiliza certificados de varias CAs. |
| Subject | Asunto permitido del certificado. Primero se valida el certificado con la CA. Si es válido y está firmado por la CA, entonces el campo Subject puede usarse para permitir solo un valor de la cadena Subject. Si este campo está vacío, se acepta cualquier certificado válido firmado por la CA configurada. |
| PSK identity | Cadena de identidad de la clave previamente compartida. No coloque información sensible en la identidad PSK, ya que se transmite sin cifrar por la red para informar al receptor qué PSK debe usar. |
| PSK | Clave previamente compartida (cadena hexadecimal). Longitud máxima: 512 dígitos hexadecimales (PSK de 256 bytes) si Zabbix usa la biblioteca GnuTLS o OpenSSL, 64 dígitos hexadecimales (PSK de 32 bytes) si Zabbix usa la biblioteca mbed TLS (PolarSSL). Ejemplo: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952 |
La pestaña Timeouts permite sobrescribir los timeouts globales para los tipos de item que lo admiten.

| Parameter | Description |
|---|---|
| Timeouts for item types | Establezca el timeout del item (según su tipo): Global - use el timeout global (mostrado en el campo Timeout atenuado por cada tipo de item); Override - establezca un timeout personalizado (en el campo Timeout de cada tipo de item). Rango permitido: 1 - 600s (predeterminado: heredado de los timeouts globales). Se admiten sufijos de tiempo, por ejemplo 30s, 1m, y macros de usuario. Al hacer clic en el enlace Global timeouts puede configurar los timeouts globales. Tenga en cuenta que el enlace Global timeouts solo es visible para usuarios de tipo Super admin con permisos para la sección de frontend Administration > General. Tenga en cuenta que, aunque los timeouts a nivel de proxy sobrescriben los globales, serán sobrescritos por los timeouts individuales de los items, si están configurados. |
Si la versión principal del proxy no coincide con la versión principal del server, se mostrará el icono
junto a Timeouts for item types, con el mensaje emergente "Timeouts disabled because the proxy and server versions do not match".
En tales casos, el proxy usará el parámetro Timeout del archivo de configuración del proxy.
El formulario de edición de un proxy existente tiene los siguientes botones adicionales:
- Refresh configuration - actualizar la configuración del proxy
- Clone - crear un nuevo proxy basado en las propiedades del proxy existente
- Delete - eliminar el proxy
Configuración del equipo
Puede especificar que un equipo individual debe ser monitorizado por un proxy o grupo de proxies en el formulario de configuración del equipo, utilizando el campo Monitorizado por.

La actualización masiva de equipos es otra forma de especificar que los equipos deben ser monitorizados por un proxy o grupo de proxies.