Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

4 Proxy

Descripción general

El proxy de Zabbix es un proceso que puede recopilar datos de monitorización de uno o más dispositivos monitorizados y enviar la información al servidor Zabbix, funcionando esencialmente en nombre del servidor. Todos los datos recopilados se almacenan temporalmente de forma local y luego se transfieren al servidor Zabbix al que pertenece el proxy.

El despliegue de un proxy es opcional, pero puede ser muy beneficioso para distribuir la carga de un único servidor Zabbix. Si solo los proxies recopilan datos, el procesamiento en el servidor requiere menos CPU y E/S de disco.

Un proxy de Zabbix es la solución ideal para la monitorización centralizada de ubicaciones remotas, sucursales y redes sin administradores locales.

El proxy de Zabbix requiere una base de datos independiente.

Tenga en cuenta que las bases de datos compatibles con el proxy de Zabbix son SQLite, MySQL y PostgreSQL.

Consulte también: Uso de proxies en un entorno distribuido

Ejecutando proxy

Si se instala como paquete

El proxy de Zabbix se ejecuta como un proceso demonio. El proxy puede iniciarse ejecutando:

systemctl start zabbix-proxy

Esto funcionará en la mayoría de los sistemas GNU/Linux. En otros sistemas puede que necesite ejecutar:

/etc/init.d/zabbix-proxy start

De manera similar, para detener/reiniciar/ver el estado del proxy de Zabbix, utilice los siguientes comandos:

systemctl stop zabbix-proxy
       systemctl restart zabbix-proxy
       systemctl status zabbix-proxy
Iniciar manualmente

Si lo anterior no funciona, debe iniciarlo manualmente. Busque la ruta al binario zabbix_proxy y ejecute:

zabbix_proxy

Puede usar los siguientes parámetros de línea de comandos con el proxy de Zabbix:

-c --config <file>              ruta al archivo de configuración
       -f --foreground                 ejecutar el proxy de Zabbix en primer plano
       -R --runtime-control <option>   realizar funciones administrativas
       -T --test-config                validar el archivo de configuración y salir
       -h --help                       mostrar esta ayuda
       -V --version                    mostrar el número de versión

Ejemplos de ejecución del proxy de Zabbix con parámetros de línea de comandos:

zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf
       zabbix_proxy --help
       zabbix_proxy -V
Control en tiempo de ejecución

Opciones de control en tiempo de ejecución:

Opción Descripción Destino
config_cache_reload Recargar la caché de configuración. Se ignora si la caché se está cargando actualmente.
El proxy Zabbix activo se conectará al servidor Zabbix y solicitará los datos de configuración.
El proxy Zabbix pasivo solicitará los datos de configuración al servidor Zabbix la próxima vez que el servidor se conecte al proxy.
history_cache_clear=destino Limpiar la caché de histórico para la métrica especificada por su ID.
Afecta a todos los valores de la métrica, excepto el primer y último valor.
destino - ID de la métrica
diaginfo[=<sección>] Recopilar información de diagnóstico en el archivo de registro del proxy. historycache - estadísticas de la caché de histórico
preprocessing - estadísticas del gestor de preprocesamiento
locks - lista de mutexes (está vacía en sistemas BSD)
snmp_cache_reload Recargar la caché SNMP, limpiar las propiedades SNMP (engine time, engine boots, engine id, credenciales) para todos los equipos.
housekeeper_execute Iniciar el procedimiento de limpieza. Se ignora si el procedimiento de limpieza está en curso.
log_level_increase[=<destino>] Aumentar el nivel de registro, afecta a todos los procesos si no se especifica el destino.
No soportado en sistemas BSD.
tipo de proceso - Todos los procesos del tipo especificado (por ejemplo, poller)
Ver todos los tipos de procesos del proxy.
tipo de proceso,N - Tipo de proceso y número (por ejemplo, poller,3)
pid - Identificador de proceso (1 a 65535). Para valores mayores especifique el destino como 'tipo de proceso,N'.
log_level_decrease[=<destino>] Disminuir el nivel de registro, afecta a todos los procesos si no se especifica el destino.
No soportado en sistemas BSD.
prof_enable[=<destino>] Habilitar el perfilado.
Afecta a todos los procesos si no se especifica el destino.
El perfilado habilitado proporciona detalles de todos los rwlocks/mutexes por nombre de función.
tipo de proceso - Todos los procesos del tipo especificado (por ejemplo, history syncer)
Ver todos los tipos de procesos del proxy.
tipo de proceso,N - Tipo de proceso y número (por ejemplo, history syncer,1)
pid - Identificador de proceso (1 a 65535). Para valores mayores especifique el destino como 'tipo de proceso,N'.
scope - rwlock, mutex, processing pueden usarse con el tipo de proceso y número (por ejemplo, history syncer,1,processing) o todos los procesos de ese tipo (por ejemplo, history syncer,rwlock)
prof_disable[=<destino>] Deshabilitar el perfilado.
Afecta a todos los procesos si no se especifica el destino.
tipo de proceso - Todos los procesos del tipo especificado (por ejemplo, history syncer)
Ver todos los tipos de procesos del proxy.
tipo de proceso,N - Tipo de proceso y número (por ejemplo, history syncer,1)
pid - Identificador de proceso (1 a 65535). Para valores mayores especifique el destino como 'tipo de proceso,N'.

Ejemplo de uso del control en tiempo de ejecución para recargar la caché de configuración del proxy:

zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R config_cache_reload

Ejemplo de uso del control en tiempo de ejecución para limpiar la caché de histórico de una métrica:

zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R history_cache_clear=42243

Ejemplos de uso del control en tiempo de ejecución para recopilar información de diagnóstico:

# Recopilar toda la información de diagnóstico disponible en el archivo de registro del proxy:
       zabbix_proxy -R diaginfo
       
       # Recopilar estadísticas de la caché de histórico en el archivo de registro del proxy:
       zabbix_proxy -R diaginfo=historycache

Ejemplo de uso del control en tiempo de ejecución para recargar la caché SNMP:

zabbix_proxy -R snmp_cache_reload  

Ejemplo de uso del control en tiempo de ejecución para activar la ejecución del proceso de limpieza

zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R housekeeper_execute

Ejemplos de uso del control en tiempo de ejecución para cambiar el nivel de registro:

# Aumentar el nivel de registro de todos los procesos:
       zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase
       
       # Aumentar el nivel de registro del segundo proceso poller:
       zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=poller,2
       
       # Aumentar el nivel de registro del proceso con PID 1234:
       zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=1234
       
       # Disminuir el nivel de registro de todos los procesos http poller:
       zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_decrease="http poller"
Usuario del proceso

El proxy de Zabbix está diseñado para ejecutarse como un usuario sin privilegios de root. Se ejecutará como cualquier usuario sin privilegios de root con el que se inicie. Por lo tanto, puede ejecutar el proxy como cualquier usuario sin privilegios de root sin ningún problema.

Si intenta ejecutarlo como 'root', cambiará a un usuario 'zabbix' predefinido, que debe estar presente en su sistema. Solo puede ejecutar el proxy como 'root' si modifica el parámetro 'AllowRoot' en el archivo de configuración del proxy en consecuencia.

Archivo de configuración

Consulte las opciones del archivo de configuración para obtener detalles sobre cómo configurar zabbix_proxy.

Tipos de procesos y hilos del proxy

  • agent poller - proceso de sondeo asíncrono para comprobaciones pasivas con un hilo de trabajo
  • availability manager - proceso para actualizaciones de disponibilidad de equipos
  • browser poller - sondeador para comprobaciones de métricas de navegador
  • configuration syncer - proceso para gestionar la caché en memoria de los datos de configuración
  • data sender - remitente de datos del proxy
  • discovery manager - proceso gestor para el descubrimiento de dispositivos
  • discovery worker - proceso para gestionar tareas de descubrimiento del discovery manager
  • history syncer - escritor de historial en la base de datos
  • housekeeper - proceso para la eliminación de datos históricos antiguos
  • http agent poller - proceso de sondeo asíncrono para comprobaciones HTTP con un hilo de trabajo
  • http poller - sondeador para monitorización web
  • icmp pinger - sondeador para comprobaciones icmpping
  • internal poller - sondeador para comprobaciones internas
  • ipmi manager - gestor de sondeadores IPMI
  • ipmi poller - sondeador para comprobaciones IPMI
  • java poller - sondeador para comprobaciones Java
  • odbc poller - sondeador para comprobaciones ODBC
  • poller - sondeador normal para comprobaciones pasivas
  • preprocessing manager - gestor de tareas de preprocesamiento con hilos de trabajo de preprocesamiento
  • preprocessing worker - hilo para el preprocesamiento de datos
  • self-monitoring - proceso para recopilar estadísticas internas del servidor
  • snmp poller - proceso de sondeo asíncrono para comprobaciones SNMP con un hilo de trabajo (solo métricas walk[OID] y get[OID])
  • snmp trapper - receptor de traps SNMP
  • task manager - proceso para la ejecución remota de tareas solicitadas por otros componentes (por ejemplo, cerrar problema, reconocer problema, comprobar valor de métrica ahora, funcionalidad de comando remoto)
  • trapper - receptor para comprobaciones activas, traps, comunicación con el proxy
  • unreachable poller - sondeador para dispositivos inaccesibles
  • vmware collector - recolector de datos VMware responsable de recopilar datos de servicios VMware

El archivo de registro del proxy puede utilizarse para observar estos tipos de procesos.

Se pueden monitorizar varios tipos de procesos del proxy de Zabbix utilizando la métrica interna zabbix[process,<type>,<mode>,<state>] métrica.

Estadísticas de transacciones del history syncer

El título del proceso history syncer muestra estadísticas detalladas sobre las transacciones del history syncer.

205276 ?        S      0:00  zabbix_proxy: history syncer #1 [processed 1 values in 0.001179 (0.001167,0.000000) sec, idle 1 sec]
       205277 ?        S      0:00  zabbix_proxy: history syncer #2 [processed 0 values in 0.000022 (0.000000,0.000000) sec, idle 1 sec]

Los tiempos, en "processed...in N (<timings>) sec", son:

  • Tiempo dedicado a escribir valores de métricas en la base de datos;
  • Tiempo dedicado a actualizar datos de métricas (estado, errores).

Plataformas compatibles

El proxy de Zabbix se ejecuta en la misma lista de plataformas compatibles que el servidor de Zabbix.

Búfer de memoria

El búfer de memoria permite almacenar nuevos datos (valores de métricas, descubrimiento de red, autorregistro de equipos) en el búfer y cargarlos al servidor Zabbix sin acceder a la base de datos. El búfer de memoria se ha introducido para el proxy desde Zabbix 7.0.

En instalaciones anteriores a Zabbix 7.0, los datos recopilados se almacenaban en la base de datos antes de cargarlos al servidor Zabbix. Para estas instalaciones, este sigue siendo el comportamiento predeterminado después de actualizar a Zabbix 7.0.

Para un rendimiento optimizado, se recomienda configurar el uso del búfer de memoria en el proxy. Esto es posible modificando el valor de ProxyBufferMode de "disk" (valor predeterminado codificado para instalaciones existentes) a "hybrid" (recomendado) o "memory". También es necesario establecer el tamaño del búfer de memoria (parámetro ProxyMemoryBufferSize).

En el modo híbrido, el búfer está protegido contra la pérdida de datos vaciando los datos no enviados a la base de datos si el proxy se detiene, el búfer está lleno o los datos son demasiado antiguos. Cuando todos los valores se han vaciado en la base de datos, el proxy vuelve a usar el búfer de memoria.

En el modo de memoria, se utilizará el búfer de memoria, sin embargo, no hay protección contra la pérdida de datos. Si el proxy se detiene o la memoria se llena en exceso, los datos no enviados se descartarán.

El modo híbrido (ProxyBufferMode=hybrid) se aplica a todas las nuevas instalaciones desde Zabbix 7.0.

Parámetros adicionales como ProxyMemoryBufferSize y ProxyMemoryBufferAge definen respectivamente el tamaño del búfer de memoria y la antigüedad máxima de los datos en el búfer.

Tenga en cuenta que, en caso de configuración conflictiva, el proxy mostrará un error y no se iniciará, por ejemplo, si:

  • ProxyBufferMode está configurado como "hybrid" o "memory" y ProxyMemoryBufferSize es "0";
  • ProxyBufferMode está configurado como "hybrid" o "memory" y ProxyLocalBuffer no es "0".

Configuración regional

Tenga en cuenta que el proxy requiere una configuración regional UTF-8 para que algunas métricas textuales puedan interpretarse correctamente. La mayoría de los sistemas modernos tipo Unix tienen una configuración regional UTF-8 por defecto, sin embargo, hay algunos sistemas donde esto puede necesitar configurarse específicamente.

Cálculo de colas durante el mantenimiento

El proxy de Zabbix no es consciente de los periodos de mantenimiento; consulte Cálculo de colas durante el mantenimiento para más detalles.