11 Agente Zabbix en Microsoft Windows
Configuración del agente
Ambas generaciones de agentes Zabbix se ejecutan como un servicio de Windows. Para el agente Zabbix 2, reemplace agentd por agent2 en las instrucciones a continuación.
Puede ejecutar una sola instancia del agente Zabbix o múltiples instancias del agente en un equipo Microsoft Windows. Una sola instancia puede usar:
- el archivo de configuración por defecto, ubicado en el mismo directorio que el binario del agente;
- un archivo de configuración especificado en la línea de comandos.
En caso de múltiples instancias, cada instancia del agente debe tener su propio archivo de configuración (una de las instancias puede usar el archivo de configuración por defecto).
Un archivo de configuración de ejemplo está disponible en el archivo fuente de Zabbix como:
conf/zabbix_agentd.confpara el agente Zabbix;conf/zabbix_agent2.confpara el agente Zabbix 2.
Si desea instalar el agente Zabbix/agente 2 para Windows como un servicio desde un archivo comprimido sin especificar el archivo de configuración explícitamente, entonces, antes de instalar el agente:
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 más detalles sobre la configuración del agente Zabbix para Windows.
Parámetro Hostname
Para realizar chequeos activos en un host, el agent de Zabbix necesita tener definido el nombre de host. Además, el valor del nombre de host establecido en el lado del agent debe coincidir exactamente con el "Nombre del host" configurado para el host en el frontend.
El valor del nombre de host en el lado del agent puede definirse mediante el parámetro Hostname o HostnameItem en el archivo de configuración del agent, o se utilizan los valores por defecto si no se especifica ninguno de estos parámetros.
El valor por defecto para el parámetro HostnameItem es el valor devuelto por la clave del agent "system.hostname". Para 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 por defecto para Hostname es el valor devuelto por el parámetro HostnameItem. Por lo tanto, si ambos parámetros no se especifican, el nombre de host real será el nombre NetBIOS del host; el agent de Zabbix utilizará el nombre NetBIOS del host para recuperar la lista de chequeos activos del server de Zabbix y enviarle los resultados.
La clave "system.hostname" admite dos parámetros opcionales: type y transform.
Type determina el tipo de nombre que el item debe devolver:
- netbios (por defecto): devuelve el nombre NetBIOS del host, que está limitado a 15 símbolos y está en MAYÚSCULAS únicamente;
- host: distingue entre mayúsculas y minúsculas, devuelve el nombre completo y real del host de Windows (sin dominio);
- shorthost: devuelve la parte del nombre de host antes del primer punto. Devolverá la cadena completa si el nombre no contiene un punto.
- fqdn: devuelve el nombre de dominio completo (sin el punto final).
Transform permite especificar una regla de transformación adicional para el nombre de host:
- none (por defecto): utiliza 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 unificarlo, se pueden utilizar tres enfoques diferentes:
- Dejar los parámetros Hostname o HostnameItem sin definir y el agent de Zabbix utilizará el nombre NetBIOS del host como nombre de host.
- Dejar el parámetro Hostname sin definir y definir HostnameItem así:
HostnameItem=system.hostname[host]: para que el agent de Zabbix utilice el nombre completo y real (distingue entre mayúsculas y minúsculas) del host de Windows como nombre de host.
HostnameItem=system.hostname[shorthost,lower]: para que el agent de Zabbix utilice solo la parte del nombre de host antes del primer punto, convertida a minúsculas.
HostnameItem=system.hostname[fqdn]: para que el agent de Zabbix utilice el nombre de dominio completo como nombre de host.
El nombre de host también se utiliza 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 del agent de Zabbix 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 del agent de Zabbix, cada instancia debe utilizar un nombre de host diferente.
Instalación del agente como servicio de Windows
Antes de instalar el agente, copie manualmente conf/zabbix_agentd.conf al
directorio donde se instalará zabbix_agentd.exe.
Para instalar una única instancia del agente Zabbix con el archivo de configuración por defecto:
zabbix_agentd.exe --install
En un sistema de 64 bits, se requiere una versión de agente Zabbix de 64 bits para que todas las comprobaciones relacionadas con la ejecución de procesos de 64 bits funcionen correctamente.
Si desea utilizar un archivo de configuración diferente al predeterminado, debe utilizar el siguiente comando para la instalación del servicio:
zabbix_agentd.exe --config <su_archivo_de_configuración> --install
Debe especificarse la ruta completa al archivo de configuración.
Se pueden instalar múltiples instancias del agente Zabbix como servicios de la siguiente manera:
zabbix_agentd.exe --config <archivo_de_configuración_para_instancia_1> --install --multiple-agents
zabbix_agentd.exe --config <archivo_de_configuración_para_instancia_2> --install --multiple-agents
...
zabbix_agentd.exe --config <archivo_de_configuración_para_instancia_N> --install --multiple-agents
El servicio instalado ahora debería ser visible en el Panel de control.
Iniciando el agente
Para iniciar el servicio del agente, puede usar el Panel de control o hacerlo desde la línea de comandos.
Para iniciar una única instancia del agente Zabbix con el archivo de configuración por defecto:
zabbix_agentd.exe --start
Para iniciar una única instancia del agente Zabbix con otro archivo de configuración:
zabbix_agentd.exe --config <su_archivo_de_configuración> --start
Para iniciar una de varias instancias del agente Zabbix:
zabbix_agentd.exe --config <archivo_de_configuración_para_esta_instancia> --start --multiple-agents
Detener el agente
Para detener el servicio del agente, puede usar el Panel de control o hacerlo desde la línea de comandos.
Para detener una única instancia del agente Zabbix iniciada con el archivo de configuración por defecto:
zabbix_agentd.exe --stop
Para detener una única instancia del agente Zabbix iniciada con otro archivo de configuración:
zabbix_agentd.exe --config <su_archivo_de_configuración> --stop
Para detener una de varias instancias del agente Zabbix:
zabbix_agentd.exe --config <archivo_de_configuración_para_esta_instancia> --stop --multiple-agents
Desinstalación del servicio del agente de Windows
Para desinstalar una única instancia del agente de Zabbix utilizando el archivo de configuración por defecto:
zabbix_agentd.exe --uninstall
Para desinstalar una única instancia del agente de Zabbix utilizando un archivo de configuración no predeterminado:
zabbix_agentd.exe --config <su_archivo_de_configuración> --uninstall
Para desinstalar múltiples instancias del agente de Zabbix de los servicios de Windows:
zabbix_agentd.exe --config <archivo_de_configuración_para_instancia_1> --uninstall --multiple-agents
zabbix_agentd.exe --config <archivo_de_configuración_para_instancia_2> --uninstall --multiple-agents
...
zabbix_agentd.exe --config <archivo_de_configuración_para_instancia_N> --uninstall --multiple-agents
Limitaciones
El agente Zabbix para Windows no es compatible con configuraciones de Windows no estándar donde las CPU se distribuyen de manera no uniforme entre los nodos NUMA. Si las CPU lógicas se distribuyen de manera 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.