3 Agente 2
Descripción general
Zabbix agent 2 es una nueva generación de agente Zabbix, escrito en Go (con algo de código C reutilizado del agente Zabbix). Está diseñado para:
- Reducir el número de conexiones TCP.
- Proporcionar una mejor concurrencia de comprobaciones.
- Ser fácilmente extensible mediante 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 del agente Zabbix, admitiendo todas las funciones anteriores.
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.
Comprobación de concurrencia
Las comprobaciones de diferentes plugins pueden ejecutarse de forma concurrente. El número
de comprobaciones concurrentes dentro de un plugin está limitado por el parámetro de capacidad del plugin.
Cada plugin puede tener un parámetro de capacidad codificado (1000 por defecto) que puede reducirse utilizando el parámetro Plugins.<PluginName>.System.Capacity=N en la configuración de Plugins
parámetro.
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 del agent 2 son en su mayoría compatibles con el agent de Zabbix, con algunas excepciones.
| Nuevos parámetros | Descripción |
|---|---|
| ControlSocket | La ruta del socket de control en tiempo de ejecución. El 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 el agent 2 para items activos. |
| ForceActiveChecksOnStart | Determina si el agent debe realizar comprobaciones activas inmediatamente después de reiniciarse 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 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 el agent 2 escuchará las solicitudes de estado HTTP y mostrará una lista de plugins configurados y algunos parámetros internos |
| Parámetros eliminados | Descripción |
| AllowRoot, User | No son compatibles porque la ejecución como demonio no es compatible. |
| LoadModule, LoadModulePath | Los módulos cargables no son compatibles. |
| StartAgents | Este parámetro se utilizaba en el agent de Zabbix para aumentar la concurrencia de comprobaciones pasivas o deshabilitarlas. En el Agent 2, la concurrencia se configura a nivel de plugin y puede limitarse mediante un ajuste de capacidad. |
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.