[comment]: # ({d60be363-d60be363})
# 3 Agente 2

[comment]: # ({/d60be363-d60be363})

[comment]: # ({3f2d44f5-734dc3ed})
#### Descripción general

Zabbix Agent 2 es una nueva generación de Zabbix Agent y puede usarse en
lugar del agente Zabbix. Zabbix Agent 2 ha sido desarrollado para:

-   reducir el número de conexiones TCP
-   proporcionar una mejor simultaneidad de controles
-   ser fácilmente ampliable con complementos. Un complemento debería poder:
    -   proporcionar controles triviales que constan sólo de unas pocas líneas simples de código
    -   proporcionar comprobaciones complejas que constan de scripts de larga duración y
        recopilación de datos independiente con envío periódico de los datos
-   ser un reemplazo directo para el agente Zabbix (ya que es compatible con toda
    la funcionalidad anterior)

El Agente 2 está escrito en el lenguaje de programación Go (con algo de código C del agente Zabbix reutilizado). Un entorno Go configurado con una [versión Go](https://go.dev/doc/devel/release#policy) actualmente compatible es necesaria para
construir el agente Zabbix 2.

El Agente 2 no tiene soporte de demonización integrado en Linux; puede ser
ejecutado como un [servicio de Windows] (/manual/appendix/install/windows_agent).

[comment]: # ({/3f2d44f5-734dc3ed})

[comment]: # ({cfd11d67-dd197493})
##### Comprobaciones pasivas y activas

Las comprobaciones pasivas funcionan de manera similar al agente Zabbix. Soporta comprobaciones activas a
intervalos programados/flexibles y comprueba la simultaneidad dentro de un servidor activo.

::: noteclassic
  De forma predeterminada, después de reiniciar, el agente 2 de Zabbix programará la primera recopilación de datos para comprobaciones activas 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 comprobaciones activas que no tienen [intervalo de actualización](/manual/config/items/item/custom_intervals#scheduling-intervals) *programada* inmediatamente después del reinicio del agente, configure el parámetro `ForceActiveChecksOnStart` (nivel global) o `Plugins .<Nombre del complemento>.System.ForceActiveChecksOnStart` (afecta solo a comprobaciones de complementos específicos) en el [archivo de configuración](/manual/appendix/config/zabbix_agent2). El parámetro a nivel de complemento, si está configurado, anulará el parámetro global. Se admite forzar comprobaciones activas al inicio desde Zabbix 6.0.2.
:::

[comment]: # ({/cfd11d67-dd197493})

[comment]: # ({eb103d1f-fcf2866a})
##### Verificar simultaneidad

Se pueden ejecutar comprobaciones de diferentes complementos al mismo tiempo. El número
de comprobaciones simultáneas dentro de un complemento está limitada por la configuración de la capacidad del complemento. Cada complemento puede tener una configuración de capacidad codificada (siendo 100 el valor
predeterminado) que se puede reducir usando la configuración `Plugins.<PluginName>.System.Capacity=N` en el 
 [parámetro](#archivo_configuración) de configuración de *Plugins*. El nombre anterior de este parámetro `Plugins.<PluginName>.Capacity` todavía se admite, pero ha quedado obsoleto en Zabbix 6.0.

[comment]: # ({/eb103d1f-fcf2866a})

[comment]: # ({da5affae-a2064519})
#### Plataformas compatibles

El Agente 2 de Zabbix es compatible con las siguientes plataformas:

- Windows (todas las versiones de escritorio y servidor [desde Windows 10/Server 2016](/manual/installation/requirements#supported-platforms);  también disponible como [binario precompilado](https://www.zabbix.com/download_agents?version=6.4&os=Windows&os_version=Any&hardware=amd64&encryption=OpenSSL&packaging =MSI&show_legacy=0))
- Linux (también disponible en [paquetes de distribución](https://www.zabbix.com/download?zabbix=6.4&os_distribution=alma_linux&os_version=9&components=agent_2&db=&ws=)) o [fuentes de Zabbix](https://www.zabbix. es/download_sources#64)

[comment]: # ({/da5affae-a2064519})

[comment]: # ({34dcafb5-cabc0f5f})
#### Instalación

Para instalar Zabbix Agent 2, están disponibles las siguientes opciones:

Windows:

-   desde un binario precompilado: descargue el binario y siga las instrucciones en la página de [Instalación del agente de Windows desde MSI](/manual/installation/install_from_packages/win_msi)
-   de las fuentes - consulte [Creación del agente Zabbix 2 en Windows](/manual/installation/install/building_zabbix_agent_2_on_windows)

Linux:

- desde paquetes de distribución - siga las instrucciones en la página [paquetes Zabbix](https://www.zabbix.com/download?zabbix=6.4&os_distribution=alma_linux&os_version=9&components=agent_2&db=&ws=), disponible eligiendo su distribución y el Componente del agente 2
-   desde las fuentes: consulte [Instalación desde fuentes](/manual/installation/install#configure-the-sources); tenga en cuenta que debe configurar las fuentes especificando la opción de configuración `--enable-agent2`

::: noteclassic
Las capacidades de monitoreo del agente 2 de Zabbix se pueden ampliar con complementos.
Si bien los complementos integrados están disponibles listos para usar, los complementos cargables deben instalarse por separado.
Para obtener más información, consulte [Complementos](/manual/extensions/plugins#loadable).
:::

[comment]: # ({/34dcafb5-cabc0f5f})

[comment]: # ({d76fc068-45c02f12})
#### Opciones

Los siguientes parámetros de línea de comando se pueden usar con Zabbix Agent 2:

|Parámetro|Descripción|
|--|--------|
|-c --config <archivo-config>|Ruta al archivo de configuración.<br>Puede usar esta opción para especificar un archivo de configuración que no sea el predeterminado.<br>En UNIX, el valor predeterminado es /usr/local /etc/zabbix\_agent2.conf o según lo establecido por las variables de [tiempo de compilación](/manual/installation/install#installing_zabbix_daemons) *--sysconfdir* o *--prefix*|
|-f --foreground|Ejecute el agente Zabbix en primer plano (predeterminado: verdadero).|
|-p --print|Imprime elementos conocidos y sale.<br>*Nota*: Para devolver también los resultados de [parámetro de usuario](/manual/config/items/userparameters), debe especificar el archivo de configuración (si es no en la ubicación predeterminada).|
|-t --test <clave de elemento>|Pruebe el elemento especificado y salga.<br>*Nota*: Para devolver también los resultados de [parámetro de usuario](/manual/config/items/userparameters), debe especificar el archivo de configuración (si no está en la ubicación predeterminada).|
|-h --help|Imprimir 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|Imprime la versión del agente y la información de licencia.|
|-R --runtime-control <opción>|Realizar funciones administrativas. Consulte [control de tiempo de ejecución](/manual/concepts/agent2#runtime_control).|

**Ejemplos** específicos del uso de parámetros de línea de comando:

- imprimir todos los elementos del agente integrados con valores
- probar un parámetro de usuario con la clave "mysql.ping" definida en el 
    archivo de configuración especificado

    shell> zabbix_agent2 --print
    shell> zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf

[comment]: # ({/d76fc068-45c02f12})

[comment]: # ({d351c668-11aa0de0})
##### 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|Lista de métricas disponibles.|
|version|Mostrar versión del agente.|
|userparameter\_reload|Recargar los valores de las opciones *UserParameter* e *Include* del archivo de configuración actual.|
|help|Mostrar información de ayuda sobre el control del tiempo de ejecución.|

Ejemplos:

-   aumentar el nivel de registro para el agente 2
-   opciones de control en tiempo de ejecución de impresión

```{=html}
<!-- -->
```
    shell> zabbix_agent2 -R log_level_increase
    shell> zabbix_agent2 -R help

[comment]: # ({/d351c668-11aa0de0})

[comment]: # ({e2091b46-77e9b590})
#### Archivo de configuración

Los parámetros de configuración del agente 2 son en su mayoría compatibles con los del
Agente Zabbix con algunas excepciones.

|Nuevos parámetros|Descripción|
|--------------|-----------|
|*ControlSocket*|La ruta del socket de control en tiempo de ejecución. El agente 2 usa un socket de control para [comandos de tiempo de ejecución] (#runtime_control).|
|*EnablePersistentBuffer*,<br>*PersistentBufferFile*,<br>*PersistentBufferPeriod*|Estos parámetros se utilizan para configurar el almacenamiento persistente en el agente 2 para elementos activos.|
|*Plugins*|Los complementos pueden tener sus propios parámetros, en el formato `Plugins.<Nombre del complemento>.<Parámetro>=<valor>`. Un parámetro de complemento común es *System.Capacity*, que establece el límite de comprobaciones que se pueden ejecutar al mismo tiempo.|
|*StatusPort*|El agente de puerto 2 escuchará la solicitud de estado HTTP y mostrará una lista de complementos configurados y algunos parámetros internos|
|Parámetros eliminados|Descripción|
|*AllowRoot*, *User*|No se admite porque no se admite la daemonización.|
|*LoadModule*, *LoadModulePath*|Los módulos cargables no son compatibles.|
|*StartAgents*|Este parámetro se usó en el agente Zabbix para aumentar la concurrencia de verificación pasiva o deshabilitarla. En el Agente 2, la concurrencia se configura a nivel de complemento y se puede limitar mediante una configuración de capacidad. Mientras que actualmente no se admite la desactivación de comprobaciones pasivas.|
|*HostInterface*, *HostInterfaceItem*|Todavía no soportados.|

Para obtener más detalles, consulte las opciones del archivo de configuración para
[zabbix\_agent2](/manual/appendix/config/zabbix_agent2).

[comment]: # ({/e2091b46-77e9b590})

[comment]: # ({472820ac-472820ac})
#### Códigos de salida

A partir de la versión 4.4.8 Zabbix agent 2 también se puede compilar con
versiones anteriores de OpenSSL (1.0.1, 1.0.2).

En este caso, Zabbix proporciona mutexes para bloquear OpenSSL. Si un mutex
el bloqueo o desbloqueo falla, entonces se imprime un mensaje de error en el 
flujo de error estándar (STDERR) y el Agente 2 sale con el código de retorno 2 o 3,
respectivamente.

[comment]: # ({/472820ac-472820ac})
