你可以通过从源代码编译获得最新的Zabbix版本。
这里教程提供了从源代码安装Zabbix的详细步骤。
前往 Zabbix 下载页面 并下载源代码压缩包。下载完成后,通过运行以下命令解压源代码:
在命令中输入正确的 Zabbix 版本号。它必须与下载的压缩包的名称相匹配。
所有的Zabbix守护进程都必须要一个非特权用户。如果一个非特权用户启动了一个Zabbix守护进程,它就会以这个用户运行。
然而,如果一个守护进程以‘root’账户运行,它会切换到一个‘zabbix‘用户,这个用户是必须存在的。要创建这样一个用户(在它自己的“zabbix”组里),
在基于RedHat的系统里,运行:
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix在基于Debian的系统里,运行:
addgroup --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbixZabbix进程不许要home目录,因此我们不推荐创建它。然而,如果你将要使用的某些功能需要它(比如在$HOME/.my.cnf里存放MySQL凭证) ,你可以使用如下命令去创建home目录。
在基于RedHat的系统里,运行:
在基于Debian的系统里,运行:
安装Zabbix前端不许要单独的用户。
如果Zabbix server和agent运行在同一台机器上,建议使用与agent不同的用户来运行。否则,如果两者使用相同的用户,agent可以访问server的配置文件,Zabbix里任何Admin级别的用户可以轻易地获取诸如数据可密码等信息。
以root、bin或者其他任何有特殊权限的账户运行Zabbix都有安全风险。
对Zabbixserver和proxy守护进程,还有Zabbix前端,必须要有一个数据库。但运行Zabbixagent不需要。
此处SQL脚本用于创建数据库模式和插入数据集。Zabbix proxy数据库只需要数据库模式,而Zabbix server数据库在数据库模式之上还需要数据集。
创建了Zabbix数据库之后,执行以下步骤来编译Zabbix。
当为Zabbix server或proxy配置源码时,必须指定要使用的数据库类型。同一时间,只用一种数据库类型可以与server或proxy编译。
要查看所有支持的配置选项,在提取的Zabbix源代码目录运行:
要为Zabbix server和agent配置源代码,你可以执行类似如下命令:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi要为Zabbix server(和,比如PostgreSQL)配置源代码,你可以执行:
要为Zabbix server(和,比如SQLite)配置源代码,你可以执行:
要为Zabbix agent配置源代码,你可以执行:
或者Zabbix agent 2:
构建Zabbix agent 2需要一个用当前支持的Go版本配置的Go环境。安装指导详见golang.org。
编译选项注意事项:
web.page.*Zabbix agent监控项.也是必须的。请注意,cURL 7.20.0或更高版本要求有 --with-libcurl 配置选项。如果./configure由于缺少库或者其他条件而失败,请查看config.log文件获取错误的更多详细信息。例如,如果libssl缺失,即时错误信息可能具有误导性:
而config.log则有更多详细的描述:
另见:
如果从Zabbix Git repository安装,必须先执行:$ make dbschema
这一步应该以具有足够权限的用户身份运行(通常是 'root',或使用 sudo)。
运行 make install 将默认在 /usr/local/sbin 目录安装守护进程二进制文件 (zabbix_server, zabbix_agentd, zabbix_proxy) ,在 /usr/local/bin ,目录安装客户端二进制文件(zabbix_get、zabbix_sender)。
要指定与 /usr/local 不同的位置,在之前配置源的步骤中使用 --prefix 键,例如 --prefix=/home/zabbix。在这种情况下,守护程序二进制文件将安装在 <prefix>/sbin 下,而实用程序则安装在 <prefix>/bin 下,手册页将安装在 <prefix>/share 下。
你需要为每个安装了 zabbix_agentd 的主机配置此文件。
你必须在文件中指定 Zabbix 服务器IP 地址,来自其他主机的连接将被拒绝。
你必须指定数据库名称、用户和密码(如果使用了)。
如果你是小型安装(最多十台受监控的主机),其他参数的默认值将适合你。 如果你想最大化 Zabbix server(或proxy)的性能,你应该修改默认参数。更多信息详见性能调优 章节。
你必须指定服务器 IP 地址和 proxy 的主机名(服务器必须知道),以及数据库名称、用户和密码(如果使用了)。
使用 SQLite 必须指定数据库文件的完整路径;不需要数据库用户和密码。
在服务器端运行 zabbix_server。
确保你的系统允许分配 36MB (或稍微多一点)的共享内存,否则 server 可能无法启动,你会在 server 的日志文件里看到“不能为<type of cache> 分配共享内存”。这可能在 FreeBSD 和 Solaris 8上发生。
请参阅本页底部的“另请参阅” 部分,了解如何配置共享内存。
在所有被监控的机器上运行 zabbix_agentd。
确保你的系统允许分配 2MB 的共享内存,否则 agent 可能无法启动,你会在 agent 的日志文件里看到 “无法为收集器分配共享内存。” 这可能在 Solaris 8 上发生。
如果你安装了 Zabbix proxy,运行zabbix_proxy。
Zabbix前端是PHP编写的,所以运行它需要PHP支持的网络服务器。安装只需简单的从 ui 目录复制PHP文件到网络服务器 HTML文档目录。
Apache网络服务器的HTML文档目录的常见位置包括:
建议使用子目录而非HTML根目录。要创建子目录并将Zabbix前端文件复制过去,请执行如下命令,以替换实际目录:
如果计划用英语之外的语言,请参考前端安装其他语言 。
关于 Zabbix 前端的安装,请参考网页界面安装页面的信息。
Installing Zabbix agent 2 loadable plugins is only required if you want to monitor targets not covered by built-in plugins (e.g., MongoDB servers or clusters, PostgreSQL and its forks, etc.). See the full list of loadable plugins and built-in plugins.
Before installing a plugin, please check its README file. It may contain specific requirements and installation instructions.
To install from sources, first download and extract the loadable plugin source archive.
To compile the plugin, navigate to the extracted plugin directory and run make:
A supported Go version is required for building Zabbix agent 2.
The plugin executable may be placed anywhere as long as it is loadable by Zabbix agent 2. Specify the path to the plugin binary in the plugin configuration file, e.g. in postgresql.conf for the PostgreSQL plugin:
The path to the plugin configuration file must be specified in the Include parameter of the Zabbix agent 2 configuration file:
Proceed to setup for more details on configuring plugins.
Loadable plugins provided by Zabbix use simple makefiles with the following build targets:
make - build the pluginmake clean - delete all files that are created by building the pluginmake check - run self-tests (requires a real monitoring target, e.g., a PostgreSQL database)make style - check Go code style with golangci-lintmake format - format Go code with go fmtmake dist - create a source archive including all dependencies只有在你想监控 JMX 应用程序时,才需要安装Java gateway。Java gateway是轻量级的,不需要数据库。
从源代码安装,先下载 并解压源代码压缩包。
要编译Java gateway,请带 --enable-java 选项执行 ./configure。建议指定 --prefix 选项来请求默认的 /usr/local 以外的安装路径,因为安装Java gateway 将创建一个完整的目录树,而不仅仅是一个可执行文件。
要将 Java gateway 编译并打包到一个JAR文件中,执行 make。 请注意,这一步你的路径中可能需 javac 和 jar 可执行文件。
现在你在 src/zabbix_java/bin 目录有一个 zabbix-java-gateway-$VERSION.jar 文件。如果你对从分配的目录中的 src/zabbix_java 运行 Java gateway 感到满意,那么你可以继续按指导配置和运行 Java gateway。否则,请确保您有足够的权限并执行 make install。
继续设置以获取更多关于配置和运行 Java gateway 的详细信息 。
只有当你想使用定时报表时,才需要安装Zabbix web服务。
要从源代码安装,请先下载 和解压源代码压缩包。
要编译Zabbix web服务, 请带 --enable-webservice 选项执行 ./configure。
构建 Zabbix web 服务需要配置好的 Go 1.13 + 版本的环境。
在安装了web服务的机器上运行 zabbix_web_service:
可在web服务 了解关于配置定时报表生成的更多信息。