9 Zabbix agent on Microsoft Windows

Configuring agent

Zabbix agent runs as a Windows service.

You can run a single instance of Zabbix agent or multiple instances of the agent on a Microsoft Windows host. A single instance can use the default configuration file C:\zabbix_agentd.conf or a configuration file specified in the command line. In case of multiple instances each agent instance must have its own configuration file (one of the instances can use the default configuration file).

An example configuration file is available in Zabbix source archive as conf/zabbix_agentd.win.conf.

See the configuration file options for details on configuring Zabbix Windows agent.

Zabbix agent for Windows does not support non-standard Windows configurations where CPUs are distributed non-uniformly across NUMA nodes. If logical CPUs are distributed non-uniformly, then CPU performance metrics may not be available for some CPUs. For example, if there are 72 logical CPUs with 2 NUMA nodes, both nodes must have 36 CPUs each.

Hostname parameter

To perform active checks on a host Zabbix agent needs to have the hostname defined. Moreover, the hostname value set on the agent side should exactly match the “Host name” configured for the host in the frontend.

The hostname value on the agent side can be defined by either the Hostname or HostnameItem parameter in the agent configuration file - or the default values are used if any of these parameters are not specified.

The default value for HostnameItem parameter is the value returned by the “system.hostname” agent key and for Windows platform it returns the NetBIOS host name.

The default value for Hostname is the value returned by the HostnameItem parameter. So, in effect, if both these parameters are unspecified the actual hostname will be the host NetBIOS name; Zabbix agent will use NetBIOS host name to retrieve the list of active checks from Zabbix server and send results to it.

The system.hostname key always returns the NetBIOS host name which is limited to 15 symbols and in UPPERCASE only - regardless of the length and lowercase/uppercase characters in the real host name.

Starting from Zabbix agent 1.8.6 version for Windows the “system.hostname” key supports an optional parameter - type of the name. The default value of this parameter is “netbios” (for backward compatibility) and the other possible value is “host”.

The system.hostname[host] key always returns the full, real (case sensitive) Windows host name.

So, to simplify the configuration of zabbix_agentd.conf file and make it unified, two different approaches could be used.

  1. leave Hostname or HostnameItem parameters undefined and Zabbix agent will use NetBIOS host name as the hostname;

  2. leave Hostname parameter undefined and define HostnameItem like this:
    HostnameItem=system.hostname[host]
    and Zabbix agent will use the full, real (case sensitive) Windows host name as the hostname.

Host name is also used as part of Windows service name which is used for installing, starting, stopping and uninstalling the Windows service. For example, if Zabbix agent configuration file specifies Hostname=Windows_db_server, then the agent will be installed as a Windows service “Zabbix Agent [Windows_db_server]”. Therefore, to have a different Windows service name for each Zabbix agent instance, each instance must use a different host name.

Installing agent as Windows service

To install a single instance of Zabbix agent with the default configuration file c:\zabbix_agentd.conf:

  1. zabbix_agentd.exe --install

On a 64-bit system, a 64-bit Zabbix agent version is required for all checks related to running 64-bit processes to work correctly.

If you wish to use a configuration file other than c:\zabbix_agentd.conf, you should use the following command for service installation:

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

A full path to the configuration file should be specified.

Multiple instances of Zabbix agent can be installed as services like this:

  1. zabbix_agentd.exe --config <configuration_file_for_instance_1> --install --multiple-agents
  2. zabbix_agentd.exe --config <configuration_file_for_instance_2> --install --multiple-agents
  3. ...
  4. zabbix_agentd.exe --config <configuration_file_for_instance_N> --install --multiple-agents

The installed service should now be visible in Control Panel.

Starting agent

To start the agent service, you can use Control Panel or do it from command line.

To start a single instance of Zabbix agent with the default configuration file:

  1. zabbix_agentd.exe --start

To start a single instance of Zabbix agent with another configuration file:

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

To start one of multiple instances of Zabbix agent:

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

Stopping agent

To stop the agent service, you can use Control Panel or do it from command line.

To stop a single instance of Zabbix agent started with the default configuration file:

  1. zabbix_agentd.exe --stop

To stop a single instance of Zabbix agent started with another configuration file:

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

To stop one of multiple instances of Zabbix agent:

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

Uninstalling agent Windows service

To uninstall a single instance of Zabbix agent using the default configuration file:

  1. zabbix_agentd.exe --uninstall

To uninstall a single instance of Zabbix agent using a non-default configuration file:

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

To uninstall multiple instances of Zabbix agent from Windows services:

  1. zabbix_agentd.exe --config <configuration_file_for_instance_1> --uninstall --multiple-agents
  2. zabbix_agentd.exe --config <configuration_file_for_instance_2> --uninstall --multiple-agents
  3. ...
  4. zabbix_agentd.exe --config <configuration_file_for_instance_N> --uninstall --multiple-agents