从 MSI 安装 Windows agent

概述

Zabbix agent 可使用 32 位或 64 位 MSI 安装包在 Windows 上安装,可从下载页面获取。

MSI 安装的最低操作系统要求如下:

  • 对于 Zabbix agent: Windows XP(64 位)或 Windows Server 2003
  • 对于 Zabbix agent 2: Windows 10(32 位)或 Windows Server 2016

32 位安装包不能安装在 64 位系统上。

安装包包括:

  • TLS 支持(TLS 配置为可选)
  • Zabbix getZabbix sender 工具(可与 Zabbix agent/agent 2 一起安装,也可单独安装)

Zabbix agent 2 安装包不包含可加载插件(MongoDB、PostgreSQL、MSSQL),需要单独下载并安装

可通过安装向导命令行进行安装。

尽管使用 MSI 安装包进行安装已得到完全支持,但建议至少安装 Microsoft .NET Framework 2,以确保正确的错误处理。

建议使用安装程序提供的默认安装位置。 在缺少必要权限的情况下使用自定义位置,可能会影响安装的安全性。

通过安装向导进行安装

以下安装步骤同时适用于 Zabbix agent 和 Zabbix agent 2。

1. 双击已下载的 MSI 文件以开始安装:

2. 接受最终用户许可协议:

3. 选择要安装的 Zabbix 组件(Agent daemonZabbix senderZabbix get):

建议使用安装程序提供的默认安装位置。 如果使用自定义位置但缺少必要权限,可能会影响安装的安全性。

4. 配置以下参数。 这些值将被设置到 Zabbix agent 配置文件中:

Parameter Description
Host name 安装 Zabbix agent 的机器的主机名。设置 Hostname 参数。
Zabbix server IP/DNS Zabbix 服务器或 Zabbix proxies 的 IP 地址列表(以逗号分隔,可选用 CIDR 表示法)或 DNS 名称。此参数为必填。设置 Server 参数。
Agent listen port agent 将在此端口上侦听来自服务器的连接。设置 ListenPort 参数。
Server or Proxy for active checks 用于获取主动检查的 Zabbix 服务器/proxy 地址或集群配置。服务器/proxy 地址为 IP 地址或 DNS 名称,也可附带以冒号分隔的可选端口。设置 ServerActive 参数。
Enable PSK 勾选此复选框以启用使用预共享密钥的 TLS 支持。将 TLSConnectTLSAccept 参数设置为 psk
Add agent location to the PATH 勾选此复选框以将 Zabbix agent 的位置添加到系统 PATH 变量中。

如果检测到现有的 Zabbix agent,将显示其配置文件中的参数值。 此外,安装过程中会重命名现有配置文件,并创建一个新的配置文件。

5. 如果您在上一步中勾选了 Enable PSK 复选框,请配置 PSK 参数。 这些参数也将被设置到 Zabbix agent 配置文件中:

Parameter Description
Pre-shared key identity 预共享密钥标识字符串。设置 TLSPSKIdentity 参数。
Pre-shared key value 预共享密钥字符串值。创建包含该密钥的 psk.key 文件,并将 TLSPSKFile 参数设置为该密钥的位置(默认:C:\Program Files\Zabbix Agent\psk.key)。建议通过调整文件的安全设置来限制对预共享密钥文件的访问,以便只有 Zabbix agent(或运行 agent 的用户)可以读取该文件。

6. 单击 Install 开始安装。

所有选定的 Zabbix 组件以及 Zabbix agent 配置文件都将安装到您指定的位置(默认:C:\Program Files\Zabbix Agent)。 Zabbix agent 2 也是如此,不同之处在于其内置插件的附加配置文件将安装到 zabbix_agent2.d\plugins.d 子文件夹中。

此外,zabbix_agentd.exe(或 zabbix_agent2.exe)将被设置为 Windows 服务,并启用延迟自动启动(在 Windows Vista/Server 2008 之前的 Windows 版本中则为自动启动)。

如果在安装期间有其他版本的 Zabbix agent 正在运行,系统将提示您选择关闭该应用程序并尝试重新启动,或者保持其打开状态;如果选择后者,则需要重新启动系统。

7. 单击 Finish 按钮退出安装向导。

从命令行安装

可以通过命令行使用 msiexec 运行 MSI 安装程序来安装 Zabbix agent。例如:

msiexec.exe /l*v "C:\package.log" /i "C:\zabbix_agent-8.0.0-windows-amd64-openssl.msi" /qn+ SERVER=192.0.2.0

此方法支持无人值守安装,并可使用参数进行自定义配置。

支持的参数

Zabbix agent MSI 安装程序包同时支持以下适用于 Zabbix agent 和 Zabbix agent 2 的参数。

Zabbix agent/agent2 参数会在安装期间写入配置文件。 单击参数名称可在 Zabbix agent (Windows) 页面查看其详细说明和配置示例。 对于 Zabbix agent 2,请参见 Zabbix agent 2 (Windows) 页面。

参数 说明
ADDDEFAULT 要以默认配置安装的组件列表,以逗号分隔。更多信息请参见 ADDDEFAULT property
可能的值:AgentProgramGetProgramSenderProgramALL
示例:ADDDEFAULT=AgentProgram,GetProgram
ADDLOCAL 要在本地安装的组件列表,以逗号分隔。更多信息请参见 ADDLOCAL property
可能的值:AgentProgramGetProgramSenderProgramALL
示例:ADDLOCAL=AgentProgram,SenderProgram
ALLOWDENYKEY 以分号分隔的 AllowKey 或 DenyKey 参数列表,用于限制 Zabbix agent 检查。如有必要,可使用反斜杠对分隔符进行转义(\;)。会在 agent 配置文件中设置 AllowKeyDenyKey 参数。
示例:ALLOWDENYKEY="AllowKey=system.run[more C:\Windows\System32\drivers\etc\hosts\\; echo 'File read complete'];DenyKey=system.run[*]"
CONF Zabbix agent 的模板配置文件完整路径名。安装期间,此文件将成为 agent 配置文件。该文件必须至少包含 ServerLogFile 参数。
示例:CONF="C:\full\path\to\example.conf"
DONOTSTART 使用 DONOTSTART=1 可阻止 MSI 安装程序启动 Zabbix agent 服务。
ENABLEPATH 使用 ENABLEPATH=1 可将 Zabbix agent 所在位置添加到系统 PATH 变量中。
ENABLEPERSISTENTBUFFER 仅适用于 Zabbix agent 2。启用活动监控项的本地持久化存储。
HOSTINTERFACE 定义主机接口的可选参数。
HOSTMETADATA 定义主机元数据的可选参数。
HOSTMETADATAITEM 定义用于获取主机元数据的监控项的可选参数。
HOSTNAME 定义主机名的可选参数。
HOSTNAMEITEM 定义用于获取主机名的监控项的可选参数。
INCLUDE 要包含到 Zabbix agent 配置文件中的单个文件或目录中所有文件的列表,以分号分隔。
INSTALLFOLDER 安装 Zabbix 组件和 Zabbix agent 配置文件的文件夹完整路径名。对于 Zabbix agent 2,内置插件的附加配置文件将安装到 zabbix_agent2.d\plugins.d 子文件夹中。
示例:INSTALLFOLDER="C:\Program Files\Zabbix Agent"
LISTENIP agent 应监听的 IP 地址列表,以逗号分隔。
LISTENPORT agent 将在此端口上监听来自服务器的连接。
LOGFILE Zabbix agent 日志文件的名称。
LOGTYPE 日志输出类型。
NONMSICONFNAME Zabbix agent 的自定义配置文件完整路径名。安装期间,此文件中存在的任何有效 agent 配置参数(仅限本表中列出的参数)都将写入新创建的 agent 配置文件。该文件必须至少包含 Server 参数。
示例:NONMSICONFNAME="C:\full\path\to\example.conf"
PERSISTENTBUFFERFILE 仅适用于 Zabbix agent 2。Zabbix agent 2 用于保存 SQLite 数据库的文件。
PERSISTENTBUFFERPERIOD 仅适用于 Zabbix agent 2。当与服务器或 proxy 没有连接时,数据应保留的时间段。
SERVER Zabbix 服务器或 Zabbix proxy 的 IP 地址列表(以逗号分隔,可选用 CIDR 表示法)或 DNS 名称。此参数为必填,除非 STARTAGENTS 设置为 0。
SERVERACTIVE 用于获取主动检查的 Zabbix 服务器/proxy 地址或集群配置。
SKIP 使用 SKIP=fw 可阻止 MSI 安装程序为 Zabbix agent 添加 Windows 防火墙例外规则。
SOURCEIP 到 Zabbix 服务器或 Zabbix proxy 的出站连接的源 IP 地址,或在执行某些监控项(web.page.get、net.tcp.port 等)时建立连接所使用的源 IP 地址。
STARTAGENTS 处理被动检查的 zabbix_agentd 预派生实例数量。
如果设置为 0,则被动检查将被禁用,agent 不会监听任何 TCP 端口。
STARTUPTYPE Zabbix agent 服务的启动类型。可能的值:
automatic - 在 Windows 启动时自动启动服务;
delayed - (默认) 在自动启动的服务完成启动后延迟启动该服务(适用于 Windows Vista/Server 2008 及更高版本);
manual - 手动启动服务(由用户或应用程序启动);
disabled - 禁用该服务,使其无法由用户或应用程序启动。
示例:STARTUPTYPE=disabled
STATUSPORT 仅适用于 Zabbix agent 2。如果设置,agent 将在此端口上监听 HTTP 状态请求(http://localhost:<port>/status)。
TIMEOUT 指定与 Zabbix proxy 或服务器建立连接并交换数据时的等待时长(秒)。
TLSACCEPT 接受的入站连接类型(用于被动检查)。如果设置为 psk,则 TLSCONNECT 也将设置为 psk(除非另有指定)。
TLSCAFILE 包含用于对端证书验证的顶级 CA 证书的文件完整路径名。
TLSCERTFILE 包含 agent 证书或证书链的文件完整路径名。
TLSCONNECT agent 应如何连接到 Zabbix 服务器或 proxy(用于主动检查)。如果设置为 psk,则 TLSACCEPT 也将设置为 psk(除非另有指定)。
TLSCRLFILE 包含已吊销证书的文件完整路径名。
TLSKEYFILE 包含 Zabbix agent 私钥的文件完整路径名。
TLSPSKFILE 包含 Zabbix agent 预共享密钥的文件完整路径名。如果同时设置了 TLSPSKFILE 和 TLSPSKVALUE,则 TLSPSKVALUE 的值将写入 TLSPSKFILE 指定的文件中。建议通过调整文件安全设置来限制对预共享密钥文件的访问,以便只有 Zabbix agent(或运行 agent 的用户)可以读取该文件。
TLSPSKIDENTITY 预共享密钥标识字符串。
TLSPSKVALUE 预共享密钥字符串值。如果同时设置了 TLSPSKFILE 和 TLSPSKVALUE,则 TLSPSKVALUE 的值将写入 TLSPSKFILE 指定的文件中。
示例:TLSPSKVALUE=1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952
TLSSERVERCERTISSUER 允许的服务器(proxy)证书颁发者。
TLSSERVERCERTSUBJECT 允许的服务器(proxy)证书主题。
UNSAFEUSERPARAMETERS 允许将所有字符传递给用户定义参数的参数值。
示例

以下示例使用自定义配置安装 Zabbix agent。 它还使用预共享密钥启用了 TLS 支持。

mkdir "C:\Program Files\Zabbix Agent" 2>nul
msiexec.exe /l*v "C:\package.log" /i "C:\zabbix_agent-8.0.0-windows-amd64-openssl.msi" /qn+^
 SERVER=192.0.2.0^
 INSTALLFOLDER="C:\Program Files\Zabbix Agent"^
 HOSTNAME=LAPTOP-IKP7S51S^
 TLSACCEPT=psk^
 TLSCONNECT=psk^
 TLSPSKIDENTITY="PSK 001"^
 TLSPSKFILE="C:\Program Files\Zabbix Agent\psk.key"^
 TLSPSKVALUE=1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952^
 ENABLEPATH=1^
 ALLOWDENYKEY="AllowKey=system.run[type C:\Windows\System32\drivers\etc\hosts];DenyKey=system.run[*]"

下一个示例安装较新版本的 Zabbix agent,并使用模板配置文件CONF="C:\agent-template.conf")。 在安装过程中,此文件将成为 agent 配置文件。 要继承旧配置文件中的参数,请使用参数占位符(例如 [AllowDenyKey])。

msiexec.exe /l*v "C:\package.log" /i "C:\zabbix_agent-8.0.1-windows-amd64-openssl.msi" /qn+ NONMSICONFNAME="C:\agent.conf"

# agent-template.conf 示例:
LogFile=[LogFile]
[AllowDenyKey]
Server=192.0.2.8
Hostname=DESKTOP-X9F4A2B
[Include]
[TLSConnect]
[TLSAccept]
[TLSPSKIdentity]
[TLSPSKFile]

或者,您也可以使用自定义配置文件NONMSICONFNAME="C:\agent-custom.conf")。 在安装过程中,此文件中存在的任何有效 agent 配置参数(仅限于上表中列出的参数)都将被写入新创建的 agent 配置文件中。 要保留现有的 agent 配置,请定义需要保留的参数。

msiexec.exe /l*v "C:\package.log" /i "C:\zabbix_agent-8.0.1-windows-amd64-openssl.msi" /qn+ NONMSICONFNAME="C:\agent-custom.conf"

# agent-custom.conf 示例:
Server=192.0.2.8
Hostname=DESKTOP-X9F4A2B

Zabbix agent 2 可加载插件

Zabbix agent 2 的可加载插件可在 Windows 上使用 64 位 MSI 安装程序包进行安装,这些安装包可供下载

MSI 安装的最低操作系统要求为 Windows 10(64 位)或 Windows Server 2016。

安装插件前,请先查看其 README 文件。 其中可能包含特定要求和安装说明。

与 Zabbix agent/agent2 类似,可加载插件也可以使用安装向导或命令行进行安装。

通过安装向导安装

1. 双击已下载的 MSI 文件以开始安装。

2. 接受最终用户许可协议。

3. 选择要安装的 Zabbix agent 2 可加载插件。

建议使用安装程序提供的默认安装位置。 如果在缺少必要权限的情况下使用自定义位置,可能会影响安装的安全性。

4. 单击 Install 开始安装。

所有选定的 Zabbix agent 2 可加载插件都将安装到您指定的位置(默认:C:\Program Files\Zabbix Agent 2),其配置文件将安装在 zabbix_agent2.d 子文件夹中。

5. 单击 Finish 按钮退出安装向导。

从命令行安装

可以通过运行 MSI 安装程序并使用 msiexec 从命令行安装 Zabbix agent 2 可加载插件。例如:

msiexec.exe /l*v "C:\package.log" /i "C:\zabbix_agent2_plugins-8.0.0-windows-amd64.msi" /qn+

Zabbix agent 2 可加载插件 MSI 安装程序包支持以下参数。

参数 说明
ADDDEFAULT 以默认配置安装的、以逗号分隔的组件列表。更多信息,请参见 ADDDEFAULT property
可能的值:ALLCephPluginEmberplusPluginMongodbPluginMssqlPluginNvidiagpuPluginPostgresqlPlugin
示例:ADDDEFAULT=MongodbPlugin,PostgresqlPlugin
ADDLOCAL 要在本地安装的、以逗号分隔的组件列表。更多信息,请参见 ADDLOCAL property
可能的值:ALLCephPluginEmberplusPluginMongodbPluginMssqlPluginNvidiagpuPluginPostgresqlPlugin
示例:ADDLOCAL=MongodbPlugin,MssqlPlugin
INSTALLFOLDER 安装 Zabbix 组件的文件夹完整路径,其配置文件将安装在 zabbix_agent2.d 子文件夹中。
示例:INSTALLFOLDER="C:\Program Files\Zabbix Agent 2"