3 Agente 2

Descripción general

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

  • Reducir el número de conexiones TCP;
  • Proporcionar una mejor concurrencia de comprobaciones;
  • Ampliarse fácilmente 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 reemplazo de Zabbix agent, admitiendo todas las funciones anteriores.

Todas las métricas en Zabbix agent 2 son recopiladas por plugins.

Estas funciones son específicas de los plugins:

  • Intervalos programados y flexibles tanto para comprobaciones pasivas como activas
  • Gestión de la cola de tareas con respecto a la programación y la concurrencia de tareas
  • Timeouts a nivel de plugin
  • Comprobación de compatibilidad de Zabbix agent 2 y sus plugins al inicio

Existen dos tipos de plugins:

También puede crear sus propios plugins.

Los plugins creados de forma personalizada no necesitan estar integrados en agent 2. Puede agregarlos como plugins cargables, simplificando así la creación de plugins para nuevas métricas.

Los plugins cargables pueden agregarse en tiempo de ejecución sin recompilar Zabbix agent 2.

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 condicionalmente aleatorio dentro del intervalo de actualización del item para evitar picos en el uso de recursos. Para ejecutar inmediatamente las comprobaciones activas que no tienen intervalo de actualización de Programación 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

Zabbix agent 2 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 su versión de Zabbix, la distribución del SO y la versión del SO) y siga las instrucciones.
  • Código fuente de Zabbix: descargue los archivos fuente y compile el agent configurando con la opción --enable-agent2.

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.

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 instalado para Windows 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

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 que se establezca mediante 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 una sola instancia del agent se está ejecutando 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 comandos en tiempo de ejecución.
EnablePersistentBuffer,
PersistentBufferFile,
PersistentBufferPeriod
Estos parámetros se usan para configurar el almacenamiento persistente en Zabbix agent 2 para 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.<Nombre del plugin>.<Parámetro>=<valor>. 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 daemonización.
EnableRemoteCommands Obsoleto; en su lugar, ambos agents usan los parámetros AllowKey y DenyKey.
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 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 un bloqueo o desbloqueo de mutex falla, 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.