4 Windows agent 通过 MSI 安装

概述

Zabbix agent 可以使用 32 位或 64 位 MSI 安装程序包在 Windows 上安装,这些安装包适用于 download

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 file 以开始安装:

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

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

建议使用安装程序提供的默认安装位置。
在没有必要权限的情况下使用自定义位置可能会损害安装的安全性。

4. 配置以下参数。
它们的值将被设置在 Zabbix agent 配置文件中:

参数 描述
Host name 正在安装 Zabbix agent 的机器的 主机 名称。设置 主机名 参数。
Zabbix server IP/DNS 逗号分隔的 IP 地址列表,可选 CIDR 格式,或 Zabbix servers 或 Zabbix proxies 的 DNS 名称。此参数是必填项。设置 服务器 参数。
Agent listen port agent 将在此端口监听来自服务器的连接。设置 监听端口 参数。
Server or Proxy for active checks 用于 get active checks 的 Zabbix server/proxy 地址或集群配置。server/proxy 地址是 IP 地址或 DNS 名称,可选端口,用冒号分隔。设置 serveractive 参数。
Enable PSK 勾选复选框以启用 TLS 支持 using pre-shared keys。将 tls连接tlsaccept 参数设置为 psk
Add agent location to the PATH 勾选复选框以将 Zabbix agent 的安装位置添加到系统 PATH 变量中。

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

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

参数 描述
Pre-shared key identity 预共享密钥标识 string。设置 tlspskidentity 参数。
Pre-shared key value 预共享密钥 string 值。创建包含密钥的 psk.key file 并将 tlspskfile 参数设置为密钥位置(默认:C:\Program Files\Zabbix Agent\psk.key)。建议通过调整文件的安全设置,限制对预共享密钥文件 file 的访问,仅允许 Zabbix agent(或运行 agent 的用户)读取该文件。

6. 点击 安装 以开始安装。

所有选中的 Zabbix 组件和 Zabbix agent 配置文件 file 将安装在您指定的位置(默认: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 版本上为自动启动)。

如果在安装过程中正在运行其他版本的 version Zabbix agent,系统将提示您选择关闭应用程序并尝试重新启动,或者保持其打开状态(此时需要重启系统)。

7. 点击 完成 按钮以退出安装向导。

从命令行安装

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

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

此方法允许使用参数进行无人值守安装和自定义配置。

支持的参数

Zabbix agent 的 MSI 安装包支持以下参数,适用于 Zabbix agent 和 Zabbix agent 2。

在安装过程中,Zabbix agent/agent2 参数会在配置 file 中设置。 点击参数名称以查看其详细描述和配置示例,请访问 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 参数列表,用于 restrict Zabbix agent checks。如有必要,请使用反斜杠转义分隔符(\;)。该参数设置 agent 配置文件中的 允许的密钥denykey 参数。
示例:ALLOWDENYKEY="AllowKey=system.run[type C:\Windows\System32\drivers\etc\hosts];DenyKey=system.run[*]"
CONF Zabbix agent 的 模板配置文件 的完整路径名。安装期间,该 file 将成为 agent 配置文件。该 file 必须至少包含 服务器日志文件 参数。
示例:CONF="C:\full\path\to\example.conf"
ENABLEPATH 使用 ENABLEPATH=1 将 Zabbix agent 的位置添加到系统 PATH 变量中。
启用持久化缓存 仅适用于 Zabbix agent 2。启用本地持久化存储以支持主动 监控项。
主机接口 可选参数,用于定义 主机 接口。
主机元数据 可选参数,用于定义 主机 元数据。
主机元数据项 可选参数,用于定义用于获取 主机 元数据的 监控项。
主机名 可选参数,用于定义主机名。
包含 以分号分隔的列表,包含要写入 Zabbix agent 配置文件的单个文件或目录中的所有文件。
INSTALLFOLDER Zabbix 组件和 Zabbix agent 配置 file 将安装到的文件夹的完整路径名。对于 Zabbix agent 2,内置 的附加配置文件将安装在 zabbix_agent2.d\plugins.d 子文件夹中。
示例:INSTALLFOLDER="C:\Program Files\Zabbix Agent"
listenip 以逗号分隔的 IP 地址列表,agent 应该监听这些地址。
监听端口 agent 监听来自服务器连接的端口。
日志文件 Zabbix agent 日志文件的名称。
日志类型 日志输出的类型。
NONMSICONFNAME Zabbix agent 的 自定义配置文件 的完整路径名。安装期间,该 file 中存在的任何有效的 agent 配置参数(仅限本表中列出的参数)将写入新创建的 agent 配置文件中。该 file 必须至少包含 服务器 参数。
示例:NONMSICONFNAME="C:\full\path\to\example.conf"
persistentbufferfile 仅适用于 Zabbix agent 2。Zabbix agent 2 应该保存 SQLite 数据库的 file。
持久化缓冲周期 仅适用于 Zabbix agent 2。在无法连接到 server 或 proxy 时,数据应保留的时间周期。
服务器 以逗号分隔的 IP 地址列表(可选地使用 CIDR 表示法)或 Zabbix servers 或 Zabbix proxies 的 DNS 名称。此参数是 必填项
serveractive 用于从 get 主动检查的 Zabbix server/proxy 地址或集群配置。
SKIP 使用 SKIP=fw 防止 MSI 安装程序为 Zabbix agent 添加 Windows 防火墙例外规则。
STARTUPTYPE Zabbix agent 服务的启动类型。可能值:
automatic - Windows 启动时自动启动服务;
delayed - (默认) 在自动启动服务完成后延迟启动(适用于 Windows Vista/Server 2008 及更高版本);
manual - 手动启动服务(由用户或应用程序);
disabled - 禁用服务,使其无法由用户或应用程序启动。
示例:STARTUPTYPE=disabled
statusport 仅适用于 Zabbix agent 2。如果设置,agent 将监听此端口以接收 HTTP 状态请求(http://localhost:<port>/status)。
超时 指定与 Zabbix proxy 或服务器建立连接和交换数据的等待时间(以秒为单位)。
tlsaccept 接收的入站连接(用于被动检查)。如果设置为 psk,则 TLSCONNECT 也将设置为 psk(除非另有指定)。
tlscafile 包含用于对等证书验证的 Top 级 CA 证书的 file 的完整路径名。
tlscertfile 包含 agent 证书或证书链的 file 的完整路径名。
tls连接 agent 应该如何连接到 Zabbix server 或 proxy(用于主动检查)。如果设置为 psk,则 TLSACCEPT 也将设置为 psk(除非另有指定)。
tlscrlfile 包含吊销证书的 file 的完整路径名。
tlskeyfile 包含 Zabbix agent 私钥的 file 的完整路径名。
tlspskfile 包含 Zabbix agent 预共享密钥的 file 的完整路径名。如果同时设置了 TLSPSKFILE 和 TLSPSKVALUE,则 TLSPSKVALUE 的值将写入 TLSPSKFILE 中指定的 file。建议通过调整文件的安全设置,限制对预共享密钥 file 的访问,以确保只有 Zabbix agent(或运行 agent 的用户)可以读取该文件。
tlspskidentity 预共享密钥身份 string。
TLSPSKVALUE 预共享密钥 string 的值。如果同时设置了 TLSPSKFILE 和 TLSPSKVALUE,则 TLSPSKVALUE 的值将写入 TLSPSKFILE 中指定的 file。
示例:TLSPSKVALUE=1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952
tlsservercertissuer 允许的服务器(proxy)证书颁发者。
tlsservercertsubject 允许的服务器(proxy)证书主题。
示例

以下示例使用自定义配置安装 Zabbix agent。
它还启用了 TLS 支持 using pre-shared keys

mkdir "C:\Program Files\Zabbix Agent" 2>nul
       msiexec.exe /l*v "C:\package.log" /i "C:\zabbix_agent-7.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[*]"

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

msiexec.exe /l*v "C:\package.log" /i "C:\zabbix_agent-7.0.1-windows-amd64-openssl.msi" /qn+ CONF="C:\agent-template.conf"
       
       # agent-template.conf example:
       LogFile=[LogFile]
       [AllowDenyKey]
       Server=192.0.2.8
       Hostname=DESKTOP-X9F4A2B
       [Include]
       [TLSConnect]
       [TLSAccept]
       [TLSPSKIdentity]
       [TLSPSKFile]

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

msiexec.exe /l*v "C:\package.log" /i "C:\zabbix_agent-7.0.1-windows-amd64-openssl.msi" /qn+ NONMSICONFNAME="C:\agent-custom.conf"
       
       # agent-custom.conf example:
       Server=192.0.2.8
       Hostname=DESKTOP-X9F4A2B

Zabbix agent 2可加载插件

Zabbix agent 2 可加载 可以通过 64 位 MSI 安装包在 Windows 上安装,支持 download

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

安装包包括:

安装包不包含 Ember+ plugin,该组件目前只能从源代码构建(适用于 Unix 和 Windows)。

在安装插件之前,请检查其 README 文件。 其中可能包含特定于插件的额外要求和安装说明。

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

从安装向导安装

1。双击下载的 MSI file 以开始安装。

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

3。选择要安装的 Zabbix agent 2 可加载插件(MongoDB pluginPostgreSQL pluginMSSQL plugin)。

建议使用安装程序提供的默认安装位置。
使用自定义位置但没有必要的权限可能会损害安装的安全性。

4。点击 安装 以开始安装。

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

5。点击 完成 按钮以退出安装向导。

从命令行安装

Zabbix agent 2可加载插件可以通过在命令行运行带有msiexec的MSI安装程序进行安装。例如:

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

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

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