您可以通过从源代码编译来get最新version的Zabbix.
这里提供了从源代码安装Zabbix的逐步教程.
前往Zabbix download page 并下载源码归档文件。下载完成后,通过运行以下命令解压源码:
在命令中输入正确的Zabbix version。它必须 与下载的归档文件名相匹配。
所有Zabbix守护进程都需要一个非特权用户。如果Zabbix守护进程从非特权用户账户启动,它将run为该用户身份运行。
但如果从'root'账户启动守护进程,它将切换到必须存在的'zabbix'用户账户。要create此类用户账户(在其独立组"zabbix"中),
在基于RedHat的系统上,run:
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
在基于Debian的系统上,run:
addgroup --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix
Zabbix进程不需要主目录, 因此我们不建议创建它。但如果需要使用某些依赖此目录的功能(例如在$HOME/.my.cnf
中存储MySQL凭证),您可以通过以下命令create该目录。
在基于RedHat的系统上,run:
在基于Debian的系统上,run:
Zabbix前端安装不需要单独的用户账户。
如果Zabbix server和 agent在同一台机器上run,建议为服务器运行使用与agent不同的用户。否则,若两者以相同用户身份run, agent可以访问服务器配置file,且Zabbix中任何管理员级用户都能轻易获取例如数据库密码等敏感信息。
以root
、bin
或其他具有特殊权限的账户运行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标准。 可通过设置CFLAGS="-std=gnu99"显式指定该version:
若从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
为Zabbix server配置源码(使用PostgreSQL等), 可run:
为Zabbix proxy配置源码(使用SQLite等), 可run:
为Zabbix agent配置源码,可run:
或针对Zabbix agent 2:
构建Zabbix agent 2需要配置包含supported Go version的Go环境。
编译选项注意事项:
web.page.*
Zabbix agent items也需--with-libcurl。 注意cURL 7.20.0或更高版本是required与--with-libcurl配置选项配合使用若./configure因缺失库或其他原因失败, 请查看config.log
file获取错误详情。例如当libssl
缺失时, 错误提示可能具有误导性:
而config.log
会提供更详细的描述:
另请参阅:
如果从Zabbix Git repository安装, 需要先run:
$ make dbschema
此步骤应由具有足够权限的用户执行run(通常为 'root'用户,或使用sudo
命令)。
运行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 agent 配置 file
/usr/local/etc/zabbix_agentd.conf
您需要为每个安装了 zabbix_agentd 的 主机 配置此 file
必须在 file 中指定 Zabbix server 的 IP地址 来自其他 主机 的连接将被拒绝
编辑 Zabbix server 配置 file
/usr/local/etc/zabbix_server.conf
必须指定数据库名称、用户名和密码(如果使用)
如果您是小规模部署(监控不超过十个 主机),其余参数保持默认即可 但若要最大化Zabbix服务器(或 proxy)性能,则应修改默认参数
如果安装了 Zabbix proxy,请编辑 proxy 配置
file /usr/local/etc/zabbix_proxy.conf
必须指定服务器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_proxy
Zabbix前端采用PHP编写,因此需要支持PHP的Web服务器才能run。安装过程只需将ui目录中的PHP文件复制到Web服务器的HTML文档目录即可。
Apache Web服务器常见的HTML文档目录位置包括:
建议使用子目录而非HTML根目录。要create子目录并将Zabbix前端文件copy其中,请execute以下命令(需替换实际目录):
若需使用英语之外的其他语言,请参阅Installation of additional frontend languages获取配置说明。
请参阅Web interface installation页面了解Zabbix前端安装向导的相关信息。
仅当需要监控JMX应用程序时才需要安装Java网关。Java网关是轻量级的且不需要数据库。
要从源代码安装,首先 1-下载源代码归档并 解压源代码归档文件。
要编译Java网关,run带有 --enable-java
选项的./configure
脚本。建议指定--prefix
选项以请求非默认/usr/local的安装路径,因为安装Java网关将create整个目录树,而不仅仅是单个可执行文件。
要将Java网关编译并打包成JARfile,runmake
。注意 此步骤需要在路径中包含javac
和jar
可执行文件。
现在在src/zabbix_java/bin中有一个zabbix-java-gateway-$VERSION.jarfile。如果 您习惯从分发目录中的src/zabbix_java运行Java网关,则可以继续按照文件概览的说明进行配置和运行。 否则,请确保您有足够的权限并runmake install
。
继续setup以获取 有关配置和运行Java网关的更多详细信息。
安装Zabbix web服务仅在您需要使用 scheduled reports.
要从源代码安装,首先 1-下载源代码归档 和 提取源代码归档文件。
要编译Zabbix web服务,run 使用 ./configure
脚本 --enable-webservice
选项。
构建Zabbix web服务需要配置一个带有supported Go version的Go环境。
在安装Web服务的机器上运行zabbix_web_service:
前往setup获取更多详情 关于配置计划报告生成的说明。