# 4 Zabbix agent (Windows)

The parameters supported in a Zabbix agent (Windows) configuration file:

|Parameter|Mandatory|Range|Default|Description|
|---------|---------|-----|-------|-----------|
|Alias|no|<|<|Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one.<br>Multiple *Alias* parameters may be present. Multiple parameters with the same *Alias* key are not allowed.<br>Different *Alias* keys may reference the same item key.<br>For example, to retrieve paging file usage in percents from the server:<br>Alias=pg\_usage:perf\_counter\[\\Paging File(\_Total)\\% Usage\]<br>Now shorthand key pg\_usage may be used to retrieve data.<br>Aliases can be used in *HostMetadataItem* but not in *HostnameItem* or *PerfCounter* parameters.|
|BufferSend|no|1-3600|5|Do not keep data longer than N seconds in buffer.|
|BufferSize|no|2-65535|100|Maximum number of values in a memory buffer. The agent will send<br>all collected data to Zabbix server or proxy if the buffer is full.|
|DebugLevel|no|0-5|3|Specifies debug level:<br>0 - basic information about starting and stopping of Zabbix processes<br>1 - critical information<br>2 - error information<br>3 - warnings<br>4 - for debugging (produces lots of information)<br>5 - extended debugging (Currently, same as level 4. Can be set only using runtime control options.)|
|EnableRemoteCommands|no|<|0|Whether remote commands from Zabbix server are allowed.<br>0 - not allowed<br>1 - allowed|
|HostMetadata|no|0-255 characters|<|Optional parameter that defines host metadata. Host metadata is used only at host auto-registration process (active agent).<br>If not defined, the value will be acquired from HostMetadataItem.<br>An agent will issue an error and not start if the specified value is over the limit or a non-UTF-8 string.<br>This option is supported in version 2.2.0 and higher.|
|HostMetadataItem|no|<|<|Optional parameter that defines a *Zabbix agent* item used for getting host metadata. This option is only used when HostMetadata is not defined.<br>Supports UserParameters, performance counters and aliases. Supports *system.run\[\]* regardless of *EnableRemoteCommands* value.<br>Host metadata is used only at host auto-registration process (active agent).<br>During an auto-registration request an agent will log a warning message if the value returned by the specified item is over the limit of 255 characters.<br>The value returned by the item must be a UTF-8 string otherwise it will be ignored.<br>This option is supported in version 2.2.0 and higher.|
|Hostname|no|<|Set by HostnameItem|Unique, case sensitive hostname.<br>Required for active checks and must match hostname as configured on the server.<br>Allowed characters: alphanumeric, '.', ' ', '\_' and '-'.<br>Maximum length: 64|
|HostnameItem|no|<|system.hostname|Optional parameter that defines a *Zabbix agent* item used for getting host name. This option is only used when Hostname is not defined.<br>Does not support UserParameters, performance counters or aliases, but does support *system.run\[\]* regardless of *EnableRemoteCommands* value.<br>This option is supported in version 1.8.6 and higher.<br>See also a [more detailed description](/manual/appendix/install/windows_agent#configuration).|
|Include|no|<|<|You may include individual files or all files in a directory in the configuration file.<br>To only include relevant files in the specified directory, the asterisk wildcard character is supported for pattern matching. For example: `/absolute/path/to/config/files/*.conf`. Pattern matching is supported since **Zabbix 2.4.0.**<br>See [special notes](special_notes_include) about limitations.|
|ListenIP|no|<|0.0.0.0|List of comma-delimited IP addresses that the agent should listen on.<br>Multiple IP addresses are supported since Zabbix 1.8.3.|
|ListenPort|no|1024-32767|10050|Agent will listen on this port for connections from the server.|
|LogFile|no|<|<|Name of log file.<br>If not set, Windows Event Log is used.|
|LogFileSize|no|0-1024|1|Maximum size of log file in MB.<br>0 - disable automatic log rotation.<br>*Note*: If the log file size limit is reached and file rotation fails, for whatever reason, the existing log file is truncated and started anew.|
|LogRemoteCommands|no|<|0|Enable logging of executed shell commands as warnings.<br>0 - disabled<br>1 - enabled|
|MaxLinesPerSecond|no|1-1000|100|Maximum number of new lines the agent will send per second to Zabbix server<br>or proxy processing 'log', 'logrt' and 'eventlog' active checks.<br>The provided value will be overridden by the parameter 'maxlines',<br>provided in 'log', 'logrt' or 'eventlog' item keys.|
|PerfCounter|no|<|<|Syntax: <parameter\_name>,"<perf\_counter\_path>",<period><br>Defines new parameter <parameter\_name> which is an average value for system performance counter <perf\_counter\_path> for the specified time period <period> (in seconds).<br>For example, if you wish to receive average number of processor interrupts per second for last minute, you can define new parameter "interrupts" as following:<br>PerfCounter = interrupts,"\\Processor(0)\\Interrupts/sec",60<br>Please note double quotes around performance counter path.<br>The parameter name (interrupts) is to be used as the item key when creating an item.<br>Samples for calculating average value will be taken every second.<br>You may run "typeperf -qx" to get list of all performance counters available in Windows.|
|RefreshActiveChecks|no|60-3600|120|How often list of active checks is refreshed, in seconds.<br>Note that after failing to refresh active checks the next refresh will be attempted after 60 seconds.|
|Server|no|<|<|List of comma delimited IP addresses (or hostnames) of Zabbix servers. Spaces are allowed since Zabbix 2.2.<br>Incoming connections will be accepted only from the hosts listed here.<br>If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.|
|ServerActive|no|(\*)|<|IP:port (or hostname:port) of Zabbix server or Zabbix proxy for active checks.<br>Multiple comma-delimited addresses can be provided to use several independent Zabbix servers in parallel. Spaces are allowed since Zabbix 2.2.<br>If port is not specified, default port is used.<br>IPv6 addresses must be enclosed in square brackets if port for that host is specified.<br>If port is not specified, square brackets for IPv6 addresses are optional.<br>If this parameter is not specified, active checks are disabled.|
|SourceIP|no|<|<|Source IP address for outgoing connections.|
|StartAgents|no|0-63 (\*)|3|Number of pre-forked instances of zabbix\_agentd that process passive checks.<br>If set to 0, disables passive checks and the agent will not listen on any TCP port.<br>The upper limit used to be 16 before version 1.8.5.|
|Timeout|no|1-30|3|Spend no more than Timeout seconds on processing|
|UnsafeUserParameters|no|0-1|0|Allow all characters to be passed in arguments to user-defined parameters.<br>0 - do not allow<br>1 - allow|
|UserParameter|<|<|<|User-defined parameter to monitor. There can be several user-defined parameters.<br>Format: UserParameter=<key>,<shell command><br>Note that shell command must not return empty string or EOL only.<br>Example: UserParameter=system.test,echo 1|

::: noteclassic
 (\*) The number of active servers listed in ServerActive
plus the number of pre-forked instances for passive checks specified in
StartAgents must be less than 64.
:::

::: noteclassic
In Zabbix agent 2.0.0 version configuration parameters
related to active and passive checks have been changed.<br>
See the ["See also"](#see_also) section at the bottom of this page to
read more details about these changes.
:::

::: noteclassic
Zabbix supports configuration files only in UTF-8 encoding
without [BOM](https://en.wikipedia.org/wiki/Byte_order_mark).

Comments starting with "\#" are only supported in the beginning of the
line.
:::

### See also

1.  [Differences in the Zabbix agent configuration for active and
    passive checks starting from version
    2.0.0](http://blog.zabbix.com/multiple-servers-for-active-agent-sure/858).
