3 Agente 2

Descripción general

Zabbix Agent 2 es una nueva generación de Zabbix Agent y puede usarse en lugar del agente Zabbix. Zabbix Agent 2 ha sido desarrollado para:

  • reducir el número de conexiones TCP
  • proporcionar una mejor simultaneidad de controles
  • ser fácilmente ampliable con complementos. Un complemento debería poder:
    • proporcionar controles triviales que constan sólo de unas pocas líneas simples de código
    • proporcionar comprobaciones complejas que constan de scripts de larga duración y recopilación de datos independiente con envío periódico de los datos
  • ser un reemplazo directo para el agente Zabbix (ya que es compatible con toda la funcionalidad anterior)

El Agente 2 está escrito en el lenguaje de programación Go (con algo de código C del agente Zabbix reutilizado). Un entorno Go configurado con una versión Go actualmente compatible es necesaria para construir el agente Zabbix 2.

El Agente 2 no tiene soporte de demonización integrado en Linux; puede ser ejecutado como un [servicio de Windows] (/manual/appendix/install/windows_agent).

Comprobaciones pasivas y activas

Las comprobaciones pasivas funcionan de manera similar al agente Zabbix. Soporta comprobaciones activas a intervalos programados/flexibles y comprueba la simultaneidad dentro de un servidor activo.

De forma predeterminada, después de reiniciar, el agente 2 de Zabbix programará la primera recopilación de datos para comprobaciones activas en un momento condicionalmente aleatorio dentro del intervalo de actualización de la métrica para evitar picos en el uso de recursos. Para realizar comprobaciones activas que no tienen intervalo de actualización programada inmediatamente después del reinicio del agente, configure el parámetro ForceActiveChecksOnStart (nivel global) o Plugins .<Nombre del complemento>.System.ForceActiveChecksOnStart (afecta solo a comprobaciones de complementos específicos) en el archivo de configuración. El parámetro a nivel de complemento, si está configurado, anulará el parámetro global. Se admite forzar comprobaciones activas al inicio desde Zabbix 6.0.2.

Verificar simultaneidad

Se pueden ejecutar comprobaciones de diferentes complementos al mismo tiempo. El número de comprobaciones simultáneas dentro de un complemento está limitada por la configuración de la capacidad del complemento. Cada complemento puede tener una configuración de capacidad codificada (siendo 100 el valor predeterminado) que se puede reducir usando la configuración Plugins.<PluginName>.System.Capacity=N en el parámetro de configuración de Plugins. El nombre anterior de este parámetro Plugins.<PluginName>.Capacity todavía se admite, pero ha quedado obsoleto en Zabbix 6.0.

Plataformas compatibles

El Agente 2 de Zabbix es compatible con las siguientes plataformas:

Instalación

Zabbix agent 2 está disponible en paquetes Zabbix precompilados. Para compilar el Agente 2 de Zabbix de las fuentes, debe especificar la opción de configuración--enable-agent2

Opciones

Los siguientes parámetros de línea de comando se pueden usar con Zabbix Agent 2:

Parámetro Descripción
-c --config <archivo-config> Ruta al archivo de configuración.
Puede usar esta opción para especificar un archivo de configuración que no sea el predeterminado.
En UNIX, el valor predeterminado es /usr/local /etc/zabbix_agent2.conf o según lo establecido por las variables de tiempo de compilación --sysconfdir o --prefix
-f --foreground Ejecute el agente Zabbix en primer plano (predeterminado: verdadero).
-p --print Imprime elementos conocidos y sale.
Nota: Para devolver también los resultados de parámetro de usuario, debe especificar el archivo de configuración (si es no en la ubicación predeterminada).
-t --test <clave de elemento> Pruebe el elemento especificado y salga.
Nota: Para devolver también los resultados de parámetro de usuario, debe especificar el archivo de configuración (si no está en la ubicación predeterminada).
-h --help Imprimir información de ayuda y salir.
-v --verbose Imprimir información de depuración. Utilice esta opción con las opciones -p y -t.
-V --version Imprime la versión del agente y la información de licencia.
-R --runtime-control <opción> Realizar funciones administrativas. Consulte control de tiempo de ejecución.

Ejemplos específicos del uso de parámetros de línea de comando:

  • imprimir todos los elementos del agente integrados con valores

  • probar un parámetro de usuario con la clave "mysql.ping" definida en el archivo de configuración especificado

    shell> zabbix_agent2 --print shell> zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf

Control en tiempo de ejecución

El control en tiempo de ejecución proporciona algunas opciones para el control remoto.

Opción Descripción
log_level_increase Aumentar el nivel de registro.
log_level_decrease Disminuir el nivel de registro.
metrics Lista de métricas disponibles.
version Mostrar versión del agente.
userparameter_reload Recargar los valores de las opciones UserParameter e Include del archivo de configuración actual.
help Mostrar información de ayuda sobre el control del tiempo de ejecución.

Ejemplos:

  • aumentar el nivel de registro para el agente 2
  • opciones de control en tiempo de ejecución de impresión
shell> zabbix_agent2 -R log_level_increase
       shell> zabbix_agent2 -R help

Archivo de configuración

Los parámetros de configuración del agente 2 son en su mayoría compatibles con los del Agente Zabbix con algunas excepciones.

Nuevos parámetros Descripción
ControlSocket La ruta del socket de control en tiempo de ejecución. El agente 2 usa un socket de control para [comandos de tiempo de ejecución] (#runtime_control).
EnablePersistentBuffer,
PersistentBufferFile,
PersistentBufferPeriod
Estos parámetros se utilizan para configurar el almacenamiento persistente en el agente 2 para elementos activos.
Plugins Los complementos pueden tener sus propios parámetros, en el formato Plugins.<Nombre del complemento>.<Parámetro>=<valor>. Un parámetro de complemento común es System.Capacity, que establece el límite de comprobaciones que se pueden ejecutar al mismo tiempo.
StatusPort El agente de puerto 2 escuchará la solicitud de estado HTTP y mostrará una lista de complementos configurados y algunos parámetros internos
Parámetros eliminados Descripción
AllowRoot, User No se admite porque no se admite la daemonización.
LoadModule, LoadModulePath Los módulos cargables no son compatibles.
StartAgents Este parámetro se usó en el agente Zabbix para aumentar la concurrencia de verificación pasiva o deshabilitarla. En el Agente 2, la concurrencia se configura a nivel de complemento y se puede limitar mediante una configuración de capacidad. Mientras que actualmente no se admite la desactivación de comprobaciones pasivas.
HostInterface, HostInterfaceItem Todavía no soportados.

Para obtener más detalles, consulte las opciones del archivo de configuración para zabbix_agent2.

Códigos de salida

A partir de la versión 4.4.8 Zabbix agent 2 también se puede compilar con versiones anteriores de OpenSSL (1.0.1, 1.0.2).

En este caso, Zabbix proporciona mutexes para bloquear OpenSSL. Si un mutex el bloqueo o desbloqueo falla, entonces se imprime un mensaje de error en el flujo de error estándar (STDERR) y el Agente 2 sale con el código de retorno 2 o 3, respectivamente.