您可以通过从源代码编译来使用最新版本的 get version。
此处提供了从源代码安装 Zabbix 的分步教程。
转至 Zabbix download page 并下载源代码归档文件。下载完成后,运行以下命令解压源代码:
在命令中输入正确的 Zabbix version。它必须与下载的归档文件名称匹配。
所有Zabbix守护进程run均以非特权系统用户身份运行。 如果Zabbix守护进程由非特权用户账户启动,该进程将继续以该用户身份运行。
在默认配置中,如果守护进程以root
身份启动,它将切换至zabbix
用户账户,该账户必须存在。 要create一个zabbix
系统用户和组,run以下列出的命令。
基于RedHat的系统:
创建系统用户组zabbix useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix监控系统" zabbix
基于Debian的系统:
添加组 --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix
无需为Zabbix前端create单独的用户账户。
如果Zabbix server和agent run在同一台机器上运行,建议在不同的用户账户下run它们。 以同一用户身份运行允许agent访问服务器的配置file,这可能会将敏感信息(例如数据库密码)暴露给Zabbix中任何管理员级别的用户。
以root
、bin
或其他具有特殊权限的账户运行Zabbix存在安全风险。
Zabbix进程不需要主目录,因此通常不建议创建。 然而,若您需要依赖主目录的功能(例如将MySQL凭据存储在$HOME/.my.cnf文件中),可通过下方列出的命令create实现该需求。
在基于RedHat的系统上,run:
在基于Debian的系统上,run:
创建目录并设置权限:用户和组可读/写/执行,其他用户无权限 -p /var/lib/zabbix chown zabbix:zabbix /var/lib/zabbix
将/var/lib/zabbix目录的所有者更改为zabbix用户和zabbix组
对于 Zabbix server 和 proxy 守护进程,以及 Zabbix 前端,都需要使用数据库。但不需要为 run Zabbix agent。
创建数据库模式并插入数据集的 SQL scripts are provided。Zabbix proxy 数据库只需要模式,而 Zabbix server 数据库还需要在 Top 模式的基础上包含数据集。
创建完 Zabbix 数据库后,请继续进行 Zabbix 编译的后续步骤。
构建Zabbix server、Zabbix proxy或Zabbix agent需要支持GNU扩展的C99标准。 此version功能可通过设置CFLAGS="-std=gnu99"显式指定:
如果从Zabbix Git repository安装, 需要先run:
./bootstrap.sh
在配置Zabbix server或proxy的数据源时,必须 指定要使用的数据库类型。只能使用一种数据库类型。 一次编译一个server 或 proxy进程。
要查看所有支持的配置选项,请在解压后的目录中 Zabbix源代码目录run:
要配置 Zabbix server 和 agent 的数据源,您可以 run 类似:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-ares
要配置Zabbix server(使用PostgreSQL等)的源,您 可能 run:
配置命令:启用服务器功能,支持PostgreSQL数据库,集成Net-SNMP
要配置 Zabbix proxy(使用 SQLite 等)的数据源,您可以 run:
要配置 Zabbix agent 的源,您可以 run:
或者,对于Zabbix agent 2:
构建Zabbix agent 2需要配置好包含supported Go version的Go环境。
编译选项注意事项:
--enable-agent
- 编译 Zabbix agent,以及 Zabbix get 和 Zabbix sender 命令行工具。--with-libcurl
- 虚拟机监控、SMTP认证及web.page.*
Zabbix agent items功能所必需。另请参阅:serverproxy(libcurl相关说明)。--with-libxml2
- 虚拟机监控所必需的。--with-libpcre[=DIR]
- Zabbix始终使用PCRE库进行编译;此选项仅允许指定自定义的PCRE安装路径。--with-mysql=/path/to/mysql_config
- 指定特定MySQL客户端库配置文件的路径。当系统安装多个MySQL版本或mariadb时特别有用。--with-oracle
- 指定Oracle调用接口(OCI) API的位置。--enable-static
- 静态链接库(在Solaris上不受支持)。若需向未安装必要库的系统分发编译后的二进制文件,请使用此选项。构建Zabbix server时不推荐使用。要静态构建服务器,必须提供每个外部库的静态version版本。配置脚本不会自动检查此项。--with-stacksize=<value>
- 以千字节为单位设置每线程堆栈大小(例如--with-stacksize=512
)。若Zabbix因堆栈溢出导致崩溃或冻结(如在默认线程堆栈限制较低的系统上执行preprocessing时),可增大此值。如果./configure
由于缺少库或其他问题而失败,请检查config.log
的file以获取详细的错误信息。
例如,如果缺少libssl
,即时错误信息可能会产生误导:
在这种情况下,config.log
揭示了实际原因:
另请参阅:
若从Zabbix Git repository安装, 需先run:
$ make dbschema
此步骤应通过具备足够权限的用户(通常为 'root',或使用sudo
)执行run。
默认情况下,运行make install
会将守护进程二进制文件 (zabbix_server、zabbix_agentd、zabbix_proxy)安装至/usr/local/sbin, 客户端二进制文件(zabbix_get、zabbix_sender)安装至/usr/local/bin。
若要指定非/usr/local的安装路径,可在配置源码阶段 使用--prefix参数,例如--prefix=/home/zabbix。此时守护进程二进制文件 将安装至<prefix>/sbin,工具程序安装至<prefix>/bin, 手册页则安装至<prefix>/share目录。
您需要为每台安装了 zabbix_agentd 的 主机 配置此 file。
必须在 file 中指定 Zabbix server 的 IP 地址,来自其他 主机 的连接将被拒绝。
必须指定数据库名称、用户名和密码(如果使用的话)。
如果您是小型部署(监控不超过十个 主机),其余参数保持默认即可。但若想最大化 Zabbix 服务器(或 proxy)性能,则应修改默认参数。
必须指定服务器 IP 地址和 proxy 主机名(必须为服务器所知),以及数据库名称、用户名和密码(如果使用的话)。
使用 SQLite 时必须指定数据库 file 的完整路径;无需数据库用户名和密码。
在服务器端运行zabbix_server。
确保您的系统允许分配36MB(或稍多)的共享memory,否则服务器可能无法启动, 您将在服务器日志file中看到"无法为<缓存类型>分配共享memory"的错误信息。 这种情况可能发生在FreeBSD、Solaris 8.系统上。
在所有被监控机器上运行zabbix_agentd。
确保您的系统允许分配2MB的共享memory,否则agent可能无法启动, 您将在agent日志file中看到"无法为收集器分配共享memory"的错误信息。 这种情况可能发生在Solaris 8.系统上。
如果您已安装Zabbix proxy,请run zabbix_proxy。
Zabbix前端使用PHP编写,因此要run它,需要一个支持PHP的Web服务器。
安装只需将ui目录中的PHP文件复制到Web服务器的HTML文档目录中即可。
Apache Web服务器HTML文档目录的常见位置包括:
建议使用子目录而不是HTML根目录。
要create一个子目录并将Zabbix前端文件copy到该目录中,请execute执行以下命令,并将<htdocs>替换为实际目录:
如果计划使用除英语之外的其他语言,请参阅Installation of additional frontend languages以获取相关说明。
有关 Zabbix 前端安装向导的信息,请参见 Web interface installation 页面。
只有在需要监控JMX时才需要安装Java网关 应用程序。Java 网关轻量且不需要 数据库
从源代码安装,首先 1-下载源代码归档 和 提取源代码归档文件。
要编译 Java 网关,run 使用 ./configure
脚本。 --enable-java
选项。建议您指定 --prefix
请求安装路径(非默认路径 /usr/local)的选项, 因为安装 Java 网关会 create 一个完整的目录树,而不是 只是一个可执行文件。
要将 Java 网关编译并打包成 JAR 文件,请执行 run make
。注意 请注意,对于此步骤,您的系统中需要包含 javac
和 jar
可执行文件。 路径。
现在您有了一个 zabbix-java-gateway-$VERSION.jar file 文件。 src/zabbix_java/bin。如果您习惯运行Java网关 从发行版目录中的 src/zabbix_java,然后你可以 继续查看配置和运行 文件概览 的说明。 否则,请确保您有足够的权限并且 run make install
。
Proceed to setup 以了解详细信息 关于配置和运行 Java 网关。
仅当您希望使用scheduled reports时,才需要安装Zabbix Web服务。
如需从源码安装,请首先1-下载源代码归档并解压源码包。
要编译Zabbix Web服务,请使用--enable-webservice
选项运行run的./configure
脚本。
构建Zabbix Web服务需要配置好的Go环境,并安装agent-2。
在安装了Web服务的机器上运行zabbix_web_service:
有关配置定时报告生成的更多细节,请继续查看setup。