4 Proxy

Visión general

El proxy Zabbix es un proceso que puede recopilar datos de monitoreo de uno o más dispositivos monitoreados y enviar la información al servidor Zabbix, esencialmente trabajando en nombre del servidor. Todos los datos recopilados son almacenado en búfer localmente y luego transferidos al servidor Zabbix al que el proxy pertenece.

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

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

El proxy Zabbix requiere una base de datos separada.

Tenga en cuenta que las bases de datos compatibles con el proxy Zabbix son SQLite, MySQL y PostgreSQL. Puede usar Oracle bajo su propio riesgo y puede contener algunas limitaciones como, por ejemplo, en el retorno de valores de bajo nivel de las reglas de descubrimiento.

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

Ejecutando el proxy

Si se instala como paquete

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

service zabbix-proxy start

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

/etc/init.d/zabbix-proxy start

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

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

Si lo anterior no funciona tiene que iniciarlo manualmente. encontrar el camino al binario zabbix_proxy y ejecutar:

zabbix_proxy

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

-c --config <archivo> ruta al archivo de configuración
       -f --foreground ejecuta el proxy Zabbix en primer plano
       -R --runtime-control <opción> realiza funciones administrativas
       -T --test-config valida el archivo de configuración y sale
       -h --help da esta ayuda
       -V --version muestra el número de versión

Ejemplos de ejecución del proxy 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 de tiempo de ejecución

Opciones de control de tiempo de ejecución:

Opción Descripción Objetivo
config_cache_reload Recargar caché de configuración. Se ignora si el caché se está cargando actualmente.
El proxy Zabbix activo se conectará al servidor Zabbix y solicitará datos de configuración.
El proxy Zabbix pasivo solicitará datos de configuración del servidor Zabbix la próxima vez que el servidor se conecte al proxy.
diaginfo[=<section>] Recopila información de diagnóstico en el archivo de registro del proxy. historycache - estadísticas del historial de caché
preprocessing - estadísticas del administrador de preprocesamiento
* *locks** - lista de mutex (está vacía en sistemas *BSD)
snmp_cache_reload Vuelva a cargar la caché SNMP, borre las propiedades SNMP (hora del motor, arranque del motor, identificación del motor, credenciales) para todos los hosts.
housekeeper_execute Iniciar el procedimiento de limpieza. Ignorado si el procedimiento de limpieza está actualmente en curso.
log_level_increase[=<target>] Aumentar el nivel de registro, afecta a todos los procesos si no se especifica el objetivo.
No es compatible con *sistemas BSD.
tipo de proceso - Todos los procesos del tipo especificado (por ejemplo, poller)
Ver todos los tipos de procesos de proxy.
proceso type,N - Tipo y número de proceso (p. ej., poller,3)
pid - Identificador de proceso (1 a 65535). Para valores mayores, especifique el destino como 'tipo de proceso,N'.
log_level_decrease[=<target>] Disminuye el nivel de registro, afecta a todos los procesos si no se especifica el objetivo.
No se admite en sistemas *BSD.
prof_enable[=<target>] Habilitar creación de perfiles.
Afecta a todos los procesos si no se especifica el destino.
La creación de perfiles habilitada proporciona detalles de todos los rwlocks/mutexes por nombre de función.
* *tipo de proceso: todos los procesos del tipo especificado (por ejemplo, sincronizador de historial)
Ver todos los tipos de procesos de proxy.
tipo de proceso,N: tipo y número de proceso (por ejemplo, , sincronizador de historial,1)
pid: identificador de proceso (1 a 65535). Para valores más grandes, especifique el destino como 'tipo de proceso, N'.
alcance** - rwlock, mutex, processing se pueden usar con el tipo y número de proceso (por ejemplo, sincronizador de historial, 1, procesamiento) o todos los procesos de tipo (por ejemplo, sincronizador de historial, rwlock)
prof_disable[=<target>] Deshabilitar la creación de perfiles.
Afecta a todos los procesos si no se especifica el objetivo.
tipo de proceso - Todos los procesos del tipo especificado (por ejemplo, sincronizador de historial) )
Ver todos los tipos de procesos de proxy.
tipo de proceso,N - Tipo y número de proceso (por ejemplo, sincronizador de historial,1)
pid - Proceso identificador (1 a 65535). Para valores mayores, especifique el destino como 'tipo de proceso,N'.

Ejemplo de uso del control de tiempo de ejecución para recargar la configuración del proxy cache:

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

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

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

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

zabbix_proxy -R snmp_cache_reload  

Ejemplo de uso del control de tiempo de ejecución para desencadenar la ejecución del limpiador

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

Ejemplos de uso del control de 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 de sondeo:
       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 de sondeo http:
       zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_decrease="http poller"

Procesos de usuario

El agente Zabbix en UNIX está diseñado para ejecutarse como usuario no root. se ejecutará como cualquier usuario no root con el que se inicie. Para que pueda ejecutar el agente como cualquier usuario no root sin ningún problema.

Si intenta ejecutarlo como 'root', cambiará a un codificado usuario 'zabbix', que debe estar presente en su sistema. solo puedes correr agente como 'root' si modifica el parámetro 'AllowRoot' en el archivo de configuración del agente .

Archivo de configuración

Consulte el archivo de configuración opciones para obtener detalles sobre la configuración de zabbix_proxy.

Tipos y subprocesos de procesos de proxy

  • agent poller: proceso de sondeo asíncrono para comprobaciones pasivas con un hilo de trabajo
  • availability manager: proceso para actualizaciones de disponibilidad del host
  • configuration syncer: proceso para gestionar la caché en memoria de datos de configuración
  • data sender - remitente de datos proxy
  • discovery manager: proceso de gestión para el descubrimiento de dispositivos
  • discovery worker: proceso para manejar tareas de descubrimiento desde el administrador de descubrimiento
  • history syncer - escritor de base de datos histórico
  • housekeeper - proceso para eliminar datos históricos antiguos
  • http agent poller: sondeadorproceso de sondeo asíncrono para comprobaciones HTTP con un subproceso de trabajo
  • http poller - sondeador de monitoreo web
  • icmp pinger - sondeador para comprobaciones de icmpping
  • ipmi manager - administrador de encuestadores IPMI
  • ipmi poller - sondeador para comprobaciones de IPMI
  • java poller - sondeador para comprobaciones de Java
  • odbc poller - sondeador para comprobaciones ODBC
  • poller - sondeador normal para comprobaciones pasivas
  • preprocessing manager: administrador de tareas de preprocesamiento con subprocesos de trabajo de preprocesamiento
  • preprocessing worker - hilo para el preprocesamiento de datos
  • self-monitoring: proceso para recopilar estadísticas del servidor interno
  • snmp poller: proceso de sondeo asíncrono para comprobaciones SNMP con un subproceso de trabajo (solo métricas walk[OID] y get[OID])
  • snmp trapper - capturador para capturas SNMP
  • task manager: proceso para la ejecución remota de tareas solicitadas por otros componentes (por ejemplo, cerrar el problema, reconocer el problema, verificar valor del artículo ahora, funcionalidad de comando remoto)
  • trapper - capturador para comprobaciones activas, capturas y comunicación proxy
  • unreachable poller - sondeador para dispositivos inalcanzables
  • vmware collector: recopilador de datos de VMware responsable de la recopilación de datos de servicios de VMware

El archivo de registro de proxy se puede utilizar para observar estos tipos de procesos.

Se pueden monitorear varios tipos de procesos de proxy de Zabbix usando la métrica interna.

Plataformas compatibles

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

Memoria intermedia

El búfer de memoria permite almacenar nuevos datos (valores de métricas, descubrimiento de red, registro automático de equipos) en el búfer y cargarlos en el servidor Zabbix sin acceder a la base de datos. El búfer de memoria se introdujo 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 en el servidor de 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 de buffer de memoria en el proxy. Esto es posible modificando el valor de ProxyBufferMode desde "disco" (codificado por defecto para instalaciones existentes) hasta "híbrido" (recomendado) o "memoria". 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 al vaciar 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 utilizar la memoria intermedia.

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 se detiene el proxy o la memoria se llena en exceso, los datos no enviados se eliminarán.

El modo híbrido (ProxyBufferMode=hybrid) se aplica a todos los nuevos Instalaciones desde Zabbix 7.0.

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

Tenga en cuenta que con una configuración conflictiva el proxy imprimirá un error y no podrá iniciarse, por ejemplo, si:

  • ProxyBufferMode está configurado en "híbrido" o "memoria" y ProxyMemoryBufferSize es "0";
  • ProxyBufferMode está configurado en "híbrido" o "memoria" 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 de texto se puedan interpretar correctamente. La mayoría de los sistemas modernos tipo Unix tienen la configuración regional UTF-8 como predeterminada, sin embargo, hay algunos sistemas en los que es posible que sea necesario configurarla específicamente.