3 Agente 2

Descripción general

El agent 2 de Zabbix es una nueva generación de agent de Zabbix, escrito en Go (con algo de código C reutilizado del agent de Zabbix). Está diseñado para:

  • Reducir el número de conexiones TCP.
  • Proporcionar una mejor concurrencia de comprobaciones.
  • Ser fácilmente ampliable con plugins, que proporcionan comprobaciones simples con un código mínimo y admiten comprobaciones complejas que consisten en scripts de larga duración y recopilación de datos independiente con informes periódicos.
  • Funcionar como un reemplazo del agent de Zabbix, admitiendo todas las funciones anteriores.

Todas las métricas admitidas por el agent 2 de Zabbix se recopilan mediante plugins.

Comprobaciones pasivas y activas

Zabbix agent 2 admite comprobaciones pasivas y activas, de forma similar a Zabbix agent. Además, las comprobaciones activas de Zabbix agent 2 admiten intervalos flexibles/de programación y concurrencia de comprobaciones dentro de un mismo server activo.

De forma predeterminada, después de un reinicio, Zabbix agent 2 programará la primera recopilación de datos para las comprobaciones activas en un momento aleatorio condicionado dentro del intervalo de actualización del item para evitar picos en el uso de recursos. Para ejecutar comprobaciones activas que no tengan el intervalo de actualización Scheduling inmediatamente después del reinicio del agent, establezca el parámetro ForceActiveChecksOnStart (a nivel global) o Plugins.<Plugin name>.System.ForceActiveChecksOnStart (afecta solo a comprobaciones de plugins específicos) en el archivo de configuración. Si se establece, el parámetro a nivel de plugin anulará el parámetro global.

Concurrencia de comprobaciones

Las comprobaciones de diferentes plugins pueden ejecutarse de forma concurrente. El número de comprobaciones concurrentes dentro de un mismo plugin está limitado por la configuración de capacidad del plugin. Cada plugin puede tener una configuración de capacidad codificada de forma fija (1000 como valor predeterminado) que puede reducirse mediante la configuración Plugins.<PluginName>.System.Capacity=N en el parámetro de configuración Plugins.

Plataformas compatibles

Para conocer las plataformas compatibles, consulte la página de Requisitos.

Agent 2 en sistemas tipo Unix

Zabbix agent 2 en sistemas tipo Unix se ejecuta en el host que se está supervisando.

Instalación

El agent 2 de Zabbix puede instalarse en sistemas basados en Linux utilizando uno de los siguientes métodos:

  • Paquetes de Zabbix: seleccione el componente Agent 2 (después de seleccionar la versión de Zabbix, la distribución del SO y la versión del SO) y siga las instrucciones.
  • Fuentes de Zabbix: descargue los archivos fuente y compile el agent configurando con la opción --enable-agent2.

Las capacidades de monitorización del agent 2 de Zabbix pueden ampliarse con plugins cargables, que están disponibles por separado. Para más detalles, consulte Plugins cargables.

Si está instalado como paquete

Zabbix agent 2 se ejecuta como un proceso en primer plano y depende de un gestor de servicios externo (por ejemplo, systemd) para su ejecución en segundo plano. Zabbix agent 2 no tiene compatibilidad integrada con la daemonización en Linux.

El agent se puede iniciar ejecutando:

systemctl start zabbix-agent2

Para detener, reiniciar o comprobar el estado de Zabbix agent 2, use los siguientes comandos:

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

Puede iniciar Zabbix agent localizando el binario zabbix_agent2 y ejecutándolo directamente; por ejemplo:

zabbix_agent2

Agente 2 en sistemas Windows

El agente 2 de Zabbix se ejecuta como un proceso independiente; sin embargo, también puede ejecutarse como un servicio de Windows.

Instalación

Zabbix agent 2 puede instalarse en Windows mediante uno de los siguientes métodos:

Las capacidades de monitorización de Zabbix agent 2 pueden ampliarse con plugins cargables, que están disponibles por separado. Para más información, consulte Plugins cargables.

Consulte la página Zabbix agent en Microsoft Windows para obtener información adicional sobre la instalación de Zabbix agent 2 (desde un archivo ZIP) como servicio de Windows.

Opciones

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

Parameter Description
Agent UNIX y Windows
-c --config <config-file> Ruta al archivo de configuración.
Puede usar esta opción para especificar un archivo de configuración que no sea el predeterminado.
-f --foreground Ejecutar Zabbix agent en primer plano (predeterminado: true).
-p --print Mostrar los items conocidos y salir.
Tenga en cuenta que, para devolver también los resultados de user parameter, debe especificar el archivo de configuración (si no está en la ubicación predeterminada).
-t --test <item key> Probar el item especificado y salir.
Tenga en cuenta que, para devolver también los resultados de user parameter, debe especificar el archivo de configuración (si no está en la ubicación predeterminada).
-T --test-config Validar el archivo de configuración y salir.
-h --help Mostrar información de ayuda y salir.
-v --verbose Mostrar información de depuración. Use esta opción junto con las opciones -p y -t.
-V --version Mostrar la versión del agent y la información de licencia.
-R --runtime-control <option> Realizar funciones administrativas. Consulte runtime control.
Solo agent de Windows
-m --multiple-agents Usar varias instancias de agent (con las opciones -i, -d, -s, -x).
Para distinguir los nombres de servicio de las instancias, cada nombre de servicio incluirá el valor Hostname del archivo de configuración especificado.
-S --startup-type <value> Establecer el tipo de inicio del servicio Zabbix Windows agent. Valores permitidos:
automatic - (predeterminado) iniciar el servicio automáticamente al arrancar Windows;
delayed - retrasar el inicio del servicio hasta que los servicios iniciados automáticamente hayan completado su arranque;
manual - iniciar el servicio manualmente (por un usuario o una aplicación);
disabled - deshabilitar el servicio, de modo que no pueda ser iniciado por un usuario o una aplicación.
Puede usar esta opción junto con la opción -i, o por separado para modificar el tipo de inicio de un servicio ya instalado.
-i --install Instalar Zabbix Windows agent como servicio.
-d --uninstall Desinstalar el servicio Zabbix Windows agent.
-s --start Iniciar el servicio Zabbix Windows agent.
-x --stop Detener el servicio Zabbix Windows agent.

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

  • Mostrar todos los items integrados del agent con valores.
  • Probar un user parameter con la clave mysql.ping definida en el archivo de configuración especificado.
  • Instalar un servicio Zabbix Agent para Windows usando la ruta predeterminada al archivo de configuración C:\\Program Files\\Zabbix Agent 2\\zabbix_agent2.conf.
  • Modificar el tipo de inicio de un servicio Zabbix Agent para Windows ya instalado usando el archivo de configuración zabbix_agent2.conf ubicado en la misma carpeta que el ejecutable del agent.
zabbix_agent2 --print
zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
zabbix_agent2.exe -i
zabbix_agent2.exe -c zabbix_agent2.conf -S delayed
Control en tiempo de ejecución

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

Option Description
log_level_increase Aumentar el nivel de registro.
log_level_decrease Disminuir el nivel de registro.
metrics Mostrar las métricas disponibles.
version Mostrar la versión del agent.
userparameter_reload Recargar los valores de las opciones UserParameter e Include desde el archivo de configuración actual.
help Mostrar información de ayuda sobre el control en tiempo de ejecución.

Ejemplos:

  • Aumentar el nivel de registro para agent 2.
  • Mostrar las opciones de control en tiempo de ejecución.
zabbix_agent2 -R log_level_increase
zabbix_agent2 -R help

Desde Zabbix 7.4.1, los comandos de control en tiempo de ejecución de agent 2 escriben la salida en stdout (salida estándar) en lugar de stderr (salida de error estándar).

Archivo de configuración

La ruta predeterminada del archivo de configuración es:

  • En UNIX, el valor predeterminado es /usr/local/etc/zabbix_agent2.conf o el establecido por las variables de tiempo de compilación --sysconfdir o --prefix.
  • En Windows, el valor predeterminado es C:\\Program Files\\Zabbix Agent 2\\zabbix_agent2.conf.

Si se está ejecutando una sola instancia del agent en un host, puede usar el archivo de configuración predeterminado o un archivo de configuración especificado en la línea de comandos. En caso de varias instancias, cada instancia de agent debe tener su propio archivo de configuración (una de las instancias puede usar el archivo de configuración predeterminado).

Los parámetros de configuración de Zabbix agent 2 coinciden en su mayoría con los de Zabbix agent, con algunas excepciones:

Parameters Description
Parámetros de configuración específicos de Zabbix agent 2
ControlSocket La ruta del socket de control en tiempo de ejecución. Zabbix agent 2 usa un socket de control para los comandos en tiempo de ejecución.
EnablePersistentBuffer,
PersistentBufferFile,
PersistentBufferPeriod
Estos parámetros se usan para configurar el almacenamiento persistente en Zabbix agent 2 para los items activos.
ForceActiveChecksOnStart Determina si el agent debe realizar comprobaciones activas inmediatamente después del reinicio o distribuirlas uniformemente en el tiempo.
Plugins Los plugins pueden tener sus propios parámetros, en el formato Plugins.<Plugin name>.<Parameter>=<value>. Un parámetro común de plugin es System.Capacity, que establece el límite de comprobaciones que se pueden ejecutar al mismo tiempo.
StatusPort El puerto en el que Zabbix agent 2 escuchará las solicitudes HTTP de estado y mostrará una lista de los plugins configurados y algunos parámetros internos.
Parámetros de configuración específicos de Zabbix agent no compatibles con Zabbix agent 2
AllowRoot,
User
No son compatibles con Zabbix agent 2 porque no admite la demonización.
EnableRemoteCommands Obsoleto; en su lugar, se usan los parámetros AllowKey y DenyKey en ambos agents.
ListenBacklog Se usa en Zabbix agent para definir el número máximo de conexiones pendientes en la cola TCP. No es compatible con Zabbix agent 2.
LoadModule,
LoadModulePath
Los módulos cargables no son compatibles con Zabbix agent 2.
MaxLinesPerSecond,
LogRemoteCommands
En Zabbix agent 2, se usan en su lugar Plugins.Log.MaxLinesPerSecond y Plugins.SystemRun.LogRemoteCommands.
StartAgents Este parámetro se usa en Zabbix agent para aumentar la concurrencia de comprobaciones pasivas o deshabilitarlas. En Zabbix agent 2, la concurrencia se configura a nivel de plugin y puede limitarse mediante una configuración de capacidad. Las comprobaciones pasivas están deshabilitadas en Zabbix Agent 2 si no se especifica el parámetro Server.

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

Códigos de salida

Zabbix agent 2 también puede compilarse con versiones anteriores de OpenSSL (1.0.1, 1.0.2).

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