Zabbix agent en Microsoft Windows

Configuración del agent

Ambas generaciones de agents de Zabbix se ejecutan como un servicio de Windows.
Para Zabbix agent 2, sustituya agentd por agent2 en las instrucciones siguientes.

Puede ejecutar una única instancia de Zabbix agent o varias instancias del agent en un host de Microsoft Windows.
Una única instancia puede utilizar una de las siguientes opciones:

  • el archivo de configuración predeterminado, ubicado en el mismo directorio que el binario del agent;
  • un archivo de configuración especificado en la línea de comandos.

En el caso de varias instancias, cada instancia del agent debe tener su propio archivo de configuración (una de las instancias puede utilizar el archivo de configuración predeterminado).

Hay un archivo de configuración de ejemplo disponible en el archivo de código fuente de Zabbix como:

  • conf/zabbix_agentd.conf para Zabbix agent;
  • conf/zabbix_agent2.conf para Zabbix agent2.

Si desea instalar Zabbix agent/agent 2 para Windows como un servicio desde un archivo sin especificar explícitamente el archivo de configuración, antes de instalar el agent:

  • conf/zabbix_agentd.conf debe copiarse manualmente en el directorio donde se instalará zabbix_agentd.exe;
  • conf/zabbix_agent2.conf y el directorio conf/zabbix_agent2.d deben copiarse manualmente en el directorio donde se instalará zabbix_agent2.exe.

Consulte las opciones del archivo de configuración del agent de Zabbix o del archivo de configuración de Zabbix agent 2 para obtener más información sobre la configuración del agent de Zabbix para Windows.

Parámetro Hostname

Para realizar comprobaciones activas en un host, el Zabbix agent debe tener definido el nombre del host. Además, el valor del nombre del host configurado en el agent debe coincidir exactamente con el Nombre del host configurado para el host en el frontend.

El valor del nombre del host en el agent puede definirse mediante el parámetro Hostname o HostnameItem en el archivo de configuración del agent; si no se especifica ninguno de estos parámetros, se utilizan los valores predeterminados.

El valor predeterminado del parámetro HostnameItem es el valor devuelto por la clave de agent system.hostname. En Windows, esta clave devuelve el resultado de la función gethostname(), que consulta los proveedores de espacio de nombres para determinar el nombre del host local. Si ningún proveedor de espacio de nombres responde, se devuelve el nombre NetBIOS.

El valor predeterminado de Hostname es el valor devuelto por el parámetro HostnameItem. Por lo tanto, si no se especifica ninguno de estos parámetros, el nombre real del host será el nombre NetBIOS del host; el Zabbix agent utilizará el nombre NetBIOS del host para recuperar la lista de comprobaciones activas del Zabbix server y enviarle los resultados.

La clave system.hostname admite dos parámetros opcionales: type y transform.

Type determina el tipo de nombre que debe devolver el item:

  • netbios (predeterminado): devuelve el nombre NetBIOS del host, limitado a 15 caracteres y compuesto únicamente por letras MAYÚSCULAS;
  • host: distingue entre mayúsculas y minúsculas y devuelve el nombre completo y real del host de Windows (sin el dominio);
  • shorthost: devuelve la parte del nombre del host anterior al primer punto. Devuelve la cadena completa si el nombre no contiene ningún punto.
  • fqdn: devuelve el nombre de dominio completo (Fully Qualified Domain Name), sin el punto final.

Transform permite especificar una regla de transformación adicional para el nombre del host:

  • none (predeterminado): utiliza el uso original de mayúsculas y minúsculas;
  • lower: convierte el texto a minúsculas.

Por lo tanto, para simplificar la configuración del archivo zabbix_agentd.conf y hacerla uniforme, pueden utilizarse distintos enfoques:

  1. Dejar sin definir los parámetros Hostname o HostnameItem; el Zabbix agent utilizará el nombre NetBIOS del host como nombre del host.
  2. Dejar sin definir el parámetro Hostname y definir HostnameItem de la siguiente manera:
    • HostnameItem=system.hostname[host]: para que el Zabbix agent utilice el nombre completo y real del host de Windows, distinguiendo entre mayúsculas y minúsculas.
    • HostnameItem=system.hostname[shorthost,lower]: para que el Zabbix agent utilice únicamente la parte del nombre del host anterior al primer punto, convertida a minúsculas.
    • HostnameItem=system.hostname[fqdn]: para que el Zabbix agent utilice el nombre de dominio completo (Fully Qualified Domain Name) como nombre del host.

El nombre del host también se utiliza como parte del nombre del servicio de Windows, que se emplea para instalar, iniciar, detener y desinstalar el servicio de Windows. Por ejemplo, si el archivo de configuración del Zabbix agent especifica Hostname=Windows_db_server, el agent se instalará como el servicio de Windows Zabbix Agent [Windows_db_server]. Por lo tanto, para tener un nombre de servicio de Windows diferente para cada instancia del Zabbix agent, cada instancia debe utilizar un nombre de host diferente.

Instalación de agent como servicio de Windows

Antes de instalar el agent, copie manualmente conf/zabbix_agentd.conf al directorio donde se instalará zabbix_agentd.exe.

Para instalar una única instancia de Zabbix agent con el archivo de configuración predeterminado:

zabbix_agentd.exe --install

En un sistema de 64 bits, se requiere una versión de 64 bits de Zabbix agent para que todas las comprobaciones relacionadas con la ejecución de procesos de 64 bits funcionen correctamente.

Si desea usar un archivo de configuración distinto del predeterminado, debe usar el siguiente comando para instalar el servicio:

zabbix_agentd.exe --config <your_configuration_file> --install

Debe especificarse una ruta completa al archivo de configuración.

Se pueden instalar varias instancias de Zabbix agent como servicios de esta manera:

  zabbix_agentd.exe --config <configuration_file_for_instance_1> --install --multiple-agents
  zabbix_agentd.exe --config <configuration_file_for_instance_2> --install --multiple-agents
  ...
  zabbix_agentd.exe --config <configuration_file_for_instance_N> --install --multiple-agents

El servicio instalado ahora debería ser visible en el Panel de control.

Inicio de agent

Para iniciar el servicio de agent, puede usar el Panel de control o hacerlo desde la línea de comandos.

Para iniciar una única instancia de Zabbix agent con el archivo de configuración predeterminado:

 zabbix_agentd.exe --start

Para iniciar una única instancia de Zabbix agent con otro archivo de configuración:

 zabbix_agentd.exe --config <your_configuration_file> --start

Para iniciar una de varias instancias de Zabbix agent:

 zabbix_agentd.exe --config <configuration_file_for_this_instance> --start --multiple-agents

Detener agent

Para detener el servicio de agent, puede usar el Panel de control o hacerlo desde la línea de comandos.

Para detener una única instancia de Zabbix agent iniciada con el archivo de configuración predeterminado:

 zabbix_agentd.exe --stop

Para detener una única instancia de Zabbix agent iniciada con otro archivo de configuración:

 zabbix_agentd.exe --config <your_configuration_file> --stop

Para detener una de varias instancias de Zabbix agent:

 zabbix_agentd.exe --config <configuration_file_for_this_instance> --stop --multiple-agents

Desinstalación del servicio de Windows de agent

Para desinstalar una única instancia de Zabbix agent usando el archivo de configuración predeterminado:

   zabbix_agentd.exe --uninstall

Para desinstalar una única instancia de Zabbix agent usando un archivo de configuración no predeterminado:

   zabbix_agentd.exe --config <your_configuration_file> --uninstall

Para desinstalar varias instancias de Zabbix agent de los servicios de Windows:

  zabbix_agentd.exe --config <configuration_file_for_instance_1> --uninstall --multiple-agents
  zabbix_agentd.exe --config <configuration_file_for_instance_2> --uninstall --multiple-agents
  ...
  zabbix_agentd.exe --config <configuration_file_for_instance_N> --uninstall --multiple-agents

Limitaciones

Zabbix agent para Windows no admite configuraciones de Windows no estándar en las que las CPU se distribuyen de forma no uniforme entre nodos NUMA. Si las CPU lógicas se distribuyen de forma no uniforme, es posible que las métricas de rendimiento de la CPU no estén disponibles para algunas CPU. Por ejemplo, si hay 72 CPU lógicas con 2 nodos NUMA, ambos nodos deben tener 36 CPU cada uno.