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:
- Binarios precompilados de Zabbix agent: descargue el paquete instalador MSI del agent y siga las instrucciones de la página Instalación del agent de Windows desde MSI.
- Fuentes de Zabbix: descargue los archivos fuente y siga las instrucciones de la página Compilación de Zabbix agent 2 en Windows.
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.pingdefinida 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.confubicado 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.confo el establecido por las variables de tiempo de compilación--sysconfdiro--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.