Zabbix agent en Microsoft Windows
Configuración de agent
Ambas generaciones de agentes de Zabbix se ejecutan como un servicio de Windows. Para Zabbix agent 2, reemplace agentd por agent2 en las instrucciones siguientes.
Puede ejecutar una sola instancia de Zabbix agent o varias instancias del agent en un host Microsoft Windows. Una sola instancia puede usar cualquiera 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 caso de varias instancias, cada instancia del agent debe tener su propio archivo de configuración (una de las instancias puede usar el archivo de configuración predeterminado).
Un archivo de configuración de ejemplo está disponible en el archivo fuente de Zabbix como:
conf/zabbix_agentd.confpara Zabbix agent;conf/zabbix_agent2.confpara 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, entonces, antes de instalar el agent:
conf/zabbix_agentd.confdebe copiarse manualmente al directorio donde se instalará zabbix_agentd.exe;conf/zabbix_agent2.confy el directorioconf/zabbix_agent2.ddeben copiarse manualmente al directorio donde se instalará zabbix_agent2.exe.
Consulte las opciones del archivo de configuración para obtener detalles sobre la configuración del Zabbix Windows agent.
Parámetro Hostname
Para realizar comprobaciones activas en un host, Zabbix agent necesita tener definido el hostname. Además, el valor de hostname establecido en el lado del agent debe coincidir exactamente con el "nombre del host" configurado para el host en el frontend.
El valor de hostname en el lado del agent puede definirse mediante el parámetro Hostname o HostnameItem en el archivo de configuración del agent, o bien se usarán los valores predeterminados si no se especifica ninguno de estos parámetros.
El valor predeterminado del parámetro HostnameItem es el valor devuelto por la clave de agent "system.hostname". En Windows, devuelve el resultado de la función gethostname(), que consulta a 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, en la práctica, si ambos parámetros no se especifican, el hostname real será el nombre NetBIOS del host; Zabbix agent usará el nombre NetBIOS del host para obtener la lista de comprobaciones activas desde 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, que está limitado a 15 símbolos y solo usa MAYÚSCULAS;
- host: distingue mayúsculas y minúsculas; devuelve el nombre completo y real del host de Windows (sin dominio);
- shorthost: devuelve la parte del hostname anterior al primer punto. Devuelve la cadena completa si el nombre no contiene un punto.
- fqdn: devuelve el nombre de dominio completo (Fully Qualified Domain Name) sin el punto final.
Transform permite especificar una regla adicional de transformación para el hostname:
- none (predeterminado): usa el caso original de las letras;
- lower: convierte el texto a minúsculas.
Por lo tanto, para simplificar la configuración del archivo zabbix_agentd.conf y unificarla, se pueden usar tres enfoques diferentes:
- Dejar los parámetros Hostname o HostnameItem sin definir y Zabbix agent usará el nombre NetBIOS del host como hostname.
- Dejar el parámetro Hostname sin definir y definir HostnameItem de la siguiente manera:
HostnameItem=system.hostname[host] - para que Zabbix agent use el nombre completo y real (con distinción entre mayúsculas y minúsculas) del host de Windows como hostname.
HostnameItem=system.hostname[shorthost,lower] - para que Zabbix agent use solo la parte del hostname anterior al primer punto, convertida a minúsculas.
HostnameItem=system.hostname[fqdn] - para que Zabbix agent use el nombre de dominio completo como hostname.
El nombre del host también se usa como parte del nombre del servicio de Windows, que se utiliza para instalar, iniciar, detener y desinstalar el servicio de Windows. Por ejemplo, si el archivo de configuración de Zabbix agent especifica Hostname=Windows_db_server, entonces el agent se instalará como un servicio de Windows "Zabbix Agent [Windows_db_server]". Por lo tanto, para tener un nombre de servicio de Windows diferente para cada instancia de Zabbix agent, cada instancia debe usar 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.