3 Agente 2

Descripción general

El agent 2 de Zabbix es una nueva generación del 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 proporcionen comprobaciones simples con un código mínimo y admitan comprobaciones complejas que consistan 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 en el agent 2 de Zabbix se recopilan mediante plugins.

Estas características 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 al horario y la concurrencia de tareas
  • Tiempos de espera a nivel de plugin
  • Comprobación de compatibilidad del agent 2 de Zabbix y sus plugins al inicio

Existen dos tipos de plugins:

También puede crear sus propios plugins.

Los plugins creados a medida no necesitan estar integrados en el agent 2. Puede agregarlos como plugins cargables, lo que simplifica la creación de plugins para nuevas métricas.

Los plugins cargables se pueden agregar en tiempo de ejecución sin volver a compilar el agent 2 de Zabbix.

Chequeos pasivos y activos

Zabbix agent 2 admite chequeos pasivos y activos, de manera similar al agente Zabbix. Además, los chequeos activos de Zabbix agent 2 admiten intervalos flexibles/programados y concurrencia de chequeos dentro de un mismo servidor activo.

Por defecto, después de un reinicio, Zabbix agent 2 programará la primera recolección de datos para los chequeos activos 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 chequeos activos que no tengan un intervalo de actualización de Programación intervalos programados inmediatamente después del reinicio del agente, establezca el parámetro ForceActiveChecksOnStart (a nivel global) o Plugins.<Plugin name>.System.ForceActiveChecksOnStart (afecta solo a chequeos de un plugin específico) en el archivo de configuración. El parámetro a nivel de plugin, si se establece, anulará el parámetro global.

Concurrencia de comprobaciones

Las comprobaciones de diferentes plugins pueden ejecutarse simultáneamente. El número de comprobaciones concurrentes dentro de un plugin está limitado por el ajuste de capacidad del plugin. Cada plugin puede tener un ajuste de capacidad codificado (1000 por defecto) que puede reducirse utilizando el ajuste 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.

Agente 2 en sistemas tipo UNIX

El agente 2 de Zabbix en sistemas tipo UNIX se ejecuta en el equipo que se está monitorizando.

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 se instala como paquete

El agente Zabbix 2 se ejecuta como un proceso en primer plano y depende de un gestor de servicios externo (por ejemplo, systemd) para la ejecución en segundo plano; El agente Zabbix 2 no tiene soporte de demonización incorporado en Linux.

El agente puede iniciarse ejecutando:

systemctl start zabbix-agent2

Para detener, reiniciar o comprobar el estado del agente Zabbix 2, utilice los siguientes comandos:

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

Puede iniciar el agente Zabbix 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 pueden utilizarse con Zabbix agent 2:

Parámetro Descripción
agent para UNIX y Windows
-c --config <config-file> Ruta al archivo de configuración.
Puede utilizar 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 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
-f --foreground Ejecutar Zabbix agent en primer plano (predeterminado: true).
-p --print Imprimir los items conocidos y salir.
Nota: Para devolver también los resultados de parámetros de usuario, 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.
Nota: Para devolver también los resultados de parámetros de usuario, 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 Imprimir la 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 Imprimir la versión del agent y la información de licencia.
-R --runtime-control <option> Realizar funciones administrativas. Consulte control en tiempo de ejecución.
Solo agent de Windows
-m --multiple-agents Utilizar múltiples 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 de 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 el 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 utilizar 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:

  • imprimir todos los items integrados del agent con valores
  • probar un parámetro de usuario 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" ya 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.

Opción Descripción
log_level_increase Aumentar el nivel de registro.
log_level_decrease Disminuir el nivel de registro.
metrics Listar las métricas disponibles.
version Mostrar la versión del agente.
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 el agente 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

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

Parámetros Descripción
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 utiliza un socket de control para los comandos en tiempo de ejecución.
EnablePersistentBuffer,
PersistentBufferFile,
PersistentBufferPeriod
Estos parámetros se utilizan 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 de reiniciarse o distribuirlas uniformemente a lo largo del 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 pueden ejecutarse al mismo tiempo.
StatusPort El puerto en el que Zabbix agent 2 escuchará solicitudes HTTP de estado y mostrará una lista de 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 compatibles con Zabbix agent 2 porque no admite la ejecución como daemon.
EnableRemoteCommands Obsoleto; en su lugar se utilizan los parámetros AllowKey y DenyKey en ambos agents.
ListenBacklog Se utiliza 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 utilizan en su lugar Plugins.Log.MaxLinesPerSecond y Plugins.SystemRun.LogRemoteCommands.
StartAgents Este parámetro se utiliza en Zabbix agent para aumentar la concurrencia de las comprobaciones pasivas o deshabilitarlas. En Zabbix agent 2, la concurrencia se configura a nivel de plugin y puede limitarse mediante un ajuste de capacidad. Las comprobaciones pasivas se deshabilitan 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

El agente Zabbix 2 también puede compilarse con versiones antiguas 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 el Agente 2 finaliza con el código de retorno 2 o 3, respectivamente.