El proxy de Zabbix es un proceso que puede recopilar datos de monitoreo 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
El proxy Zabbix se ejecuta como un proceso demonio. El proxy se puede iniciar ejecutando:
Esto funcionará en la mayoría de los sistemas GNU/Linux. En otros sistemas es posible que necesite ejecutar:
De manera similar, para detener/reiniciar/ver el estado del proxy Zabbix, use los siguientes comandos:
Si lo anterior no funciona tiene que iniciarlo manualmente. encontrar el camino al binario zabbix_proxy y ejecutar:
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:
Opciones de control de 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 historial para el elemento especificado por su ID. Afecta a todos los valores del elemento, excepto al primer y último valor. |
destino - ID del elemento |
diaginfo[=<sección>] | Recopilar información de diagnóstico en el archivo de registro del proxy. | historycache - estadísticas de la caché de historial 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 hosts. | |
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 de 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 de 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 de 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 de tiempo de ejecución para recargar la caché de configuración del proxy:
Ejemplo de uso del control de tiempo de ejecución para limpiar la caché de historial de un elemento:
Ejemplos de uso del control de 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 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:
Ejemplo de uso del control de tiempo de ejecución para activar la ejecución del procedimiento de limpieza
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 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"
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 .
Consulte el archivo de configuración opciones para obtener detalles sobre la configuración de zabbix_proxy.
agent poller
: proceso de sondeo asíncrono para comprobaciones pasivas con un subproceso de trabajoavailability manager
: proceso para actualizaciones de disponibilidad de hostsbrowser poller
: sondeador para comprobaciones de elementos de navegadorconfiguration syncer
: proceso para gestionar la caché en memoria de los datos de configuracióndata sender
: remitente de datos del proxydiscovery manager
: proceso gestor para el descubrimiento de dispositivosdiscovery worker
: proceso para manejar tareas de descubrimiento del gestor de descubrimientohistory syncer
: escritor de base de datos de historialhousekeeper
: proceso para la eliminación de datos históricos antiguoshttp agent poller
: proceso de sondeo asíncrono para comprobaciones HTTP con un subproceso de trabajohttp poller
: sondeador de monitorización webicmp pinger
: sondeador para comprobaciones icmppinginternal poller
: sondeador para comprobaciones internasipmi manager
: gestor de sondeadores IPMIipmi poller
: sondeador para comprobaciones IPMIjava poller
: sondeador para comprobaciones Javaodbc poller
: sondeador para comprobaciones ODBCpoller
: sondeador normal para comprobaciones pasivaspreprocessing manager
: gestor de tareas de preprocesamiento con subprocesos de trabajo de preprocesamientopreprocessing worker
: subproceso para el preprocesamiento de datosself-monitoring
: proceso para recopilar estadísticas internas del servidorsnmp poller
: proceso de sondeo asíncrono para comprobaciones SNMP con un subproceso de trabajo (solo elementos walk[OID]
y get[OID]
)snmp trapper
: receptor de traps SNMPtask manager
: proceso para la ejecución remota de tareas solicitadas por otros componentes (por ejemplo, cerrar problema, reconocer problema, comprobar valor de elemento ahora, funcionalidad de comando remoto)trapper
: receptor para comprobaciones activas, traps, comunicación con el proxyunreachable poller
: sondeador para dispositivos inaccesiblesvmware collector
: recolector de datos de VMware responsable de recopilar datos de servicios VMwareEl 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 el elemento interno zabbix[process,<tipo>,<modo>,<estado>] elemento.
El título del proceso del sincronizador de historial muestra estadísticas detalladas sobre las transacciones del sincronizador de historial.
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:
El proxy Zabbix se ejecuta en la misma lista de plataformas compatibles que las del servidor Zabbix.
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:
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.
El proxy de Zabbix no tiene conocimiento de los períodos de mantenimiento; consulte Cálculo de colas durante el mantenimiento para más detalles.