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
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 su 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 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
El agent 2 de Zabbix puede instalarse en Windows utilizando uno de los siguientes métodos:
- Binarios precompilados del agent de Zabbix: descargue el paquete de instalación 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 del agent 2 de Zabbix en Windows.
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.
Consulte la página Agent de Zabbix en Microsoft Windows para obtener detalles adicionales sobre la instalación del agent 2 de Zabbix (desde un archivo ZIP) como servicio de Windows.
Opciones
Se pueden utilizar los siguientes parámetros de línea de comandos con Zabbix agent 2:
| Parámetro | Descripción |
|---|---|
| agent 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 definido por las variables en 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 (por defecto: true). |
| -p --print | Imprimir los items conocidos y salir. Nota: 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. Nota: 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 | 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 la licencia. |
| -R --runtime-control <option> | Realizar funciones administrativas. Consulte runtime control. |
| Sólo agent Windows | |
| -m --multiple-agents | Utilizar múltiples instancias del 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 agent de Windows. Valores permitidos:automatic - (por defecto) inicia el servicio automáticamente al arrancar Windows;delayed - retrasa el inicio del servicio hasta que los servicios que se inician automáticamente hayan finalizado el arranque;manual - inicia el servicio manualmente (por un usuario o aplicación);disabled - desactiva el servicio, de modo que no pueda ser iniciado por un usuario o 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 agent de Windows como servicio. |
| -d --uninstall | Desinstalar el servicio Zabbix agent de Windows. |
| -s --start | Iniciar el servicio Zabbix agent de Windows. |
| -x --stop | Detener el servicio Zabbix agent de Windows. |
Ejemplos específicos de uso de los parámetros de línea de comandos:
- imprimir 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 utilizando la ruta por defecto 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 utilizando 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 comandos en tiempo de ejecución. | |
| EnablePersistentBuffer, PersistentBufferFile, PersistentBufferPeriod |
Estos parámetros se utilizan 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.<Plugin name>.<Parameter>=<value>. Un parámetro común del 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 de estado HTTP y mostrará una lista de plugins configurados y algunos parámetros internos. | |
| Parámetros de configuración específicos de Zabbix agent que no son 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 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 Plugins.Log.MaxLinesPerSecond y Plugins.SystemRun.LogRemoteCommands en su lugar. |
|
| StartAgents | Este parámetro se utiliza 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 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 para 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.