4 Windows agent installation from MSI

Overview

Zabbix Windows agent can be installed from Windows MSI installer packages (32-bit or 64-bit) available for download.

A 32-bit package cannot be installed on a 64-bit Windows.

The minimum requirement for MSI installation is:

  • Windows XP 64-bit and Server 2003 for Zabbix agent;
  • Windows 10 32-bit and Server 2016 for Zabbix agent 2.

The Zabbix get and sender utilities can also be installed, either together with Zabbix agent/agent 2 or separately.

All packages come with TLS support, however, configuring TLS is optional.

Both UI and command-line based installation is supported.

Although Zabbix installation from MSI installer packages is fully supported, it is recommended to install at least Microsoft .NET Framework 2 for proper error handling. See Microsoft Download .NET Framework.

It is recommended to use default paths provided by the installer as using custom paths without proper permissions could compromise the security of the installation.

Installation steps

To install, double-click the downloaded MSI file.

Accept the license to proceed to the next step.

Specify the following parameters.

Parameter Description
Host name Specify host name.
Zabbix server IP/DNS Specify IP/DNS of Zabbix server.
Agent listen port Specify agent listen port (10050 by default).
Server or Proxy for active checks Specify IP/DNS of Zabbix server/proxy for active agent checks.
Enable PSK Mark the checkbox to enable TLS support via pre-shared keys.
Add agent location to the PATH Add agent location to the PATH variable.

Enter pre-shared key identity and value. This step is only available if you checked Enable PSK in the previous step.

Select Zabbix components to install - Zabbix agent daemon, Zabbix sender, Zabbix get.

Zabbix components along with the configuration file will be installed in a Zabbix Agent folder in Program Files. zabbix_agentd.exe will be set up as Windows service with automatic startup.

Command-line based installation

Supported parameters

The following parameters are supported by created MSIs.

Parameter Description
ADDDEFAULT A comma-delimited list of programs to install.
Possible values: AgentProgram, GetProgram, SenderProgram, ALL.
Example: ADDDEFAULT=AgentProgram,GetProgram
ADDLOCAL A comma-delimited list of programs to install.
Possible values: AgentProgram, GetProgram, SenderProgram, ALL.
Example: ADDLOCAL=AgentProgram,SenderProgram
ALLOWDENYKEY Sequence of "AllowKey" and "DenyKey" parameters separated by ;
Use \\; to escape the delimiter.
Example: ALLOWDENYKEY="AllowKey=system.run[type c:\windows\system32\drivers\etc\hosts];DenyKey=system.run[*]"
CONF The full pathname to a custom configuration file.
Example: CONF=c:\full\path\to\user.conf
ENABLEPATH Add agent location to the PATH variable.
ENABLEPERSISTENTBUFFER Zabbix agent 2 only. Enable the usage of local persistent storage for active items.
HOSTINTERFACE An optional parameter that defines the host interface.
HOSTMETADATA An optional parameter that defines the host metadata.
HOSTMETADATAITEM An optional parameter that defines a Zabbix agent item used for getting the host metadata.
HOSTNAME An optional parameter that defines the hostname.
INCLUDE Sequence of includes separated by ;
INSTALLFOLDER The full pathname of the folder in which Zabbix components along with the configuration file will be installed.
LISTENIP A list of comma-delimited IP addresses that the agent should listen on.
LISTENPORT The agent will listen on this port for connections from the server.
LOGFILE The name of the log file.
LOGTYPE The type of the log output.
PERSISTENTBUFFERFILE Zabbix agent 2 only. The file where Zabbix agent 2 should keep the SQLite database.
PERSISTENTBUFFERPERIOD Zabbix agent 2 only. The time period for which data should be stored when there is no connection to the server or proxy.
SERVER A list of comma-delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
SERVERACTIVE The Zabbix server/proxy address or cluster configuration to get active checks from.
SKIP SKIP=fw - do not install the firewall exception rule.
STATUSPORT Zabbix agent 2 only. If set, the agent will listen on this port for HTTP status requests (http://localhost:<port>/status).
TIMEOUT Spend no more than Timeout seconds on processing.
TLSACCEPT What incoming connections to accept.
TLSCAFILE The full pathname of a file containing the top-level CA(s) certificates for peer certificate verification, used for encrypted communications between Zabbix components.
TLSCERTFILE The full pathname of a file containing the agent certificate or certificate chain, used for encrypted communications between Zabbix components.
TLSCONNECT How the agent should connect to Zabbix server or proxy.
TLSCRLFILE The full pathname of a file containing revoked certificates. This parameter is used for encrypted communications between Zabbix components.
TLSKEYFILE The full pathname of a file containing the agent private key, used for encrypted communications between Zabbix components.
TLSPSKFILE The full pathname of a file containing the agent pre-shared key, used for encrypted communications with Zabbix server.
TLSPSKIDENTITY The pre-shared key identity string, used for encrypted communications with Zabbix server.
TLSPSKVALUE The pre-shared key string value, used for encrypted communications with Zabbix server.
TLSSERVERCERTISSUER The allowed server (proxy) certificate issuer.
TLSSERVERCERTSUBJECT The allowed server (proxy) certificate subject.
Examples

To install Zabbix Windows agent from the command-line, you may run, for example:

SET INSTALLFOLDER=C:\Program Files\Zabbix Agent
       
       msiexec /l*v log.txt /i zabbix_agent-6.4.0-x86.msi /qn^
        LOGTYPE=file^
        LOGFILE="%INSTALLFOLDER%\zabbix_agentd.log"^
        SERVER=192.168.6.76^
        LISTENPORT=12345^
        SERVERACTIVE=::1^
        HOSTNAME=myHost^
        TLSCONNECT=psk^
        TLSACCEPT=psk^
        TLSPSKIDENTITY=MyPSKID^
        TLSPSKFILE="%INSTALLFOLDER%\mykey.psk"^
        TLSCAFILE="c:\temp\f.txt1"^
        TLSCRLFILE="c:\temp\f.txt2"^
        TLSSERVERCERTISSUER="My CA"^
        TLSSERVERCERTSUBJECT="My Cert"^
        TLSCERTFILE="c:\temp\f.txt5"^
        TLSKEYFILE="c:\temp\f.txt6"^
        ENABLEPATH=1^
        INSTALLFOLDER="%INSTALLFOLDER%"^
        SKIP=fw^
        ALLOWDENYKEY="DenyKey=vfs.file.contents[/etc/passwd]"

You may also run, for example:

msiexec /l*v log.txt /i zabbix_agent-6.4.0-x86.msi /qn^
        SERVER=192.168.6.76^
        TLSCONNECT=psk^
        TLSACCEPT=psk^
        TLSPSKIDENTITY=MyPSKID^
        TLSPSKVALUE=1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952

If both TLSPSKFILE and TLSPSKVALUE are passed, then TLSPSKVALUE will be written to TLSPSKFILE.