你可以通过从源代码编译获得最新的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 zabbix
Zabbix进程不许要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 前端的安装,请参考网页界面安装页面的信息。
只有在你想监控 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服务 了解关于配置定时报表生成的更多信息。