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 x64 and Server 2003 for Zabbix agent;
- Windows 7 x32 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. |
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.