您可以从源代码中编译Zabbix的最新版本。
这里提供了从源代码安装Zabbix的分步教程。
1安装Zabbix守护程序
1下载源档案
转到Zabbix下载页面并下载源档案。下载后,通过运行以下命令提取源:
$ tar -zxvf zabbix-4.0.0.tar.gz
2创建用户帐号
对于所有Zabbix守护进程,需要一个没有特权的用户。如果从无特权的用户帐户启动Zabbix守护程序,它将以该用户身份运行。
但是,如果守护程序是从“ root”帐户启动的,它将切换到“ zabbix”用户帐户,该帐户必须存在。要创建这样的用户帐户(在其自己的组“ zabbix”中),
在基于RedHat的系统上,运行:
groupadd --system zabbix
useradd --system -g zabbix -d / usr / lib / zabbix -s / sbin / nologin -c“ Zabbix监控系统” zabbix
在基于Debian的系统上,运行:
addgroup --system --quiet zabbix
adduser --quiet --system --disabled-login --ingroup zabbix --home / var / lib / zabbix --no-create-home zabbix
$HOME/.my.cnf
),则可以使用以下命令自由创建它。
在基于RedHat的系统上,运行:
mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
chown zabbix:zabbix /usr/lib/zabbix
在基于Debian的系统上,运行:
mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
chown zabbix:zabbix /var/lib/zabbix
Zabbix前端安装不需要单独的用户帐户。
如果Zabbix 服务器和代理程序在同一台计算机上运行,建议使用与运行代理程序不同的用户来运行服务器。否则,如果两者都以同一用户身份运行,则代理可以访问服务器配置文件,并且Zabbix中的任何管理员级别用户都可以很容易地检索到数据库密码。
root
,bin
或其他具有特殊权限的帐户运行Zabbix 会带来安全风险。
3创建Zabbix数据库
对于Zabbix 服务器和代理守护程序以及Zabbix前端,需要数据库。不需要运行Zabbix 代理。
提供了 SQL 脚本,用于创建数据库架构和插入数据集。Zabbix代理数据库仅需要架构,而Zabbix服务器数据库也需要架构顶部的数据集。
创建了Zabbix数据库之后,请继续执行以下编译Zabbix的步骤。
4配置源
为Zabbix服务器或代理配置源时,必须指定要使用的数据库类型。一次只能使用服务器或代理进程编译一种数据库类型。
要查看所有受支持的配置选项,请在提取的Zabbix源目录中运行:
./configure-help
要为Zabbix服务器和代理配置源,您可以运行以下命令:
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
--with-libcurl
,--with-libxml2
需要监视和配置选项;--with-libcurl
SMTP身份验证和web.page.*
Zabbix代理项也需要。请注意,配置选项要求使用cURL 7.20.0或更高版本--with-libcurl
。
--with-libpcre=[DIR]
仅允许指向特定的基本安装目录,而不是在多个常用位置中搜索libpcre文件。
要配置Zabbix服务器的源(使用PostgreSQL等),可以运行:
./configure --enable-server --with-postgresql --with-net-snmp
要配置Zabbix代理的源(使用SQLite等),可以运行:
./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2
要为Zabbix代理配置源,可以运行:
./configure --prefix=/usr/local/zabbix --enable-agent
您可以使用--enable-static标志来静态链接库。如果计划在不同的服务器之间分发编译的二进制文件,则必须使用此标志来使这些二进制文件在没有必需的库的情况下工作。请注意,--enable-static 在Solaris下不起作用。
当在同一系统上安装了多个版本的MySQL或与MySQL一起安装了MariaDB时,此功能很有用。
对于加密支持,请参阅使用加密支持编译Zabbix。
5制作并安装所有东西
$ make dbschema
make install
此步骤应以具有足够权限(通常为'root'或使用sudo
)的用户身份运行。
make install
默认情况下, 运行将在/ usr / local / sbin中安装守护程序二进制文件(zabbix_server,zabbix_agentd,zabbix_proxy),并在/ usr / local / bin中安装客户端二进制文件(zabbix_get,zabbix_sender)。
6查看和编辑配置文件
您需要为每个安装了zabbix_agentd的主机配置此文件。
您必须在文件中指定Zabbix服务器IP地址。来自其他主机的连接将被拒绝。
您必须指定数据库名称,用户和密码(如果使用)。
如果安装规模较小(最多十台受监视的主机),其余的参数将使用它们的默认值。但是,如果您想最大程度地提高Zabbix服务器(或代理)的性能,则应更改默认参数。有关更多详细信息,请参见性能调整部分。
您必须指定服务器IP地址和代理主机名(服务器必须知道),以及数据库名,用户名和密码(如果使用)。
7启动守护程序
在服务器端运行zabbix_server。
shell> zabbix_server
在所有受监视的计算机上运行zabbix_agentd。
shell> zabbix_agentd
如果您已安装Zabbix代理,请运行zabbix_proxy。
shell> zabbix_proxy
2安装Zabbix Web界面
复制PHP文件
Zabbix前端是用PHP编写的,因此要运行它,需要一个PHP支持的Web服务器。只需将PHP文件从frontends / php复制到Web服务器HTML文档目录即可完成安装。
Apache Web服务器 的HTML文档目录的常见位置包括:
建议使用子目录而不是HTML根目录。要创建一个子目录并将Zabbix前端文件复制到其中,请执行以下命令,替换实际目录:
mkdir /zabbix
cd frontends/php
cp -a . /zabbix
如果从SVN安装并计划使用英语以外的任何其他语言,则必须生成翻译文件。为此,请运行:
locale/make_mo.sh
msgfmt
需要gettext包中的实用程序。
assets
。
安装前端
第1步
第2步
确保满足所有软件先决条件。
前提条件 | 最低值 | 描述 |
---|---|---|
PHP版本 | 5.4.0 | |
PHP memory_limit选项 | 128MB | 在php.ini中: memory_limit = 128M |
PHP post_max_size选项 | 16MB | 在php.ini中: post_max_size = 16M |
PHP upload_max_filesize选项 | 2MB | 在php.ini中: upload_max_filesize = 2M |
PHP max_execution_time选项 | 300秒(允许使用值0和-1) | 在php.ini中: max_execution_time = 300 |
PHP max_input_time选项 | 300秒(允许使用值0和-1) | 在php.ini中: max_input_time = 300 |
PHP session.auto_start选项 | 必须禁用 | 在php.ini中: session.auto_start = 0 |
数据库支持 | 其中之一:MySQL,Oracle,PostgreSQL,IBM DB2 | 必须安装以下模块之一: mysql,oci8,pgsql,ibm_db2 |
bcmath | php-bcmath | |
mbstring | php-mbstring | |
PHP mbstring.func_overload选项 | 必须禁用 | 在php.ini中: mbstring.func_overload = 0 |
PHP always_populate_raw_post_data选项 | 必须禁用 | 仅PHP版本5.6.0或更高版本才需要。 在php.ini中: always_populate_raw_post_data = -1 |
插座 | php-net-socket。用户脚本支持所必需。 | |
d | 2.0或更高 | php-gd。PHP GD扩展必须支持PNG图像(--with-png-dir),JPEG(-- with-jpeg-dir)图像和FreeType 2(-- with-freetype-dir)。 |
的libxml | 2.6.15 | php-xml或php5-dom |
xmlwriter | php-xmlwriter | |
xmlreader | php-xmlreader | |
类型 | php-ctype | |
会议 | PHP会话 | |
文字 | php-gettext 自Zabbix 2.2.1起,PHP gettext扩展不是安装Zabbix的强制要求。如果未安装gettext,则前端将照常工作,但是,翻译将不可用。 |
列表中还可能包含可选的先决条件。失败的可选前提条件以橙色显示,并且具有警告状态。如果可选的先决条件失败,则设置可以继续。
第三步
第四步
第5步
第6步
下载配置文件,并将其放在将Zabbix PHP文件复制到的Web服务器HTML文档子目录中的conf /下。
步骤7
步骤8
3安装Java网关
仅在要监视JMX应用程序时才需要安装Java网关。Java网关是轻量级的,不需要数据库。
要从源代码安装,请首先下载并解压缩源归档文件。
要编译Java网关,请./configure
使用--enable-java
option 运行脚本。建议您指定--prefix
选项来请求安装路径,而不是默认的/ usr / local,因为安装Java网关会创建整个目录树,而不仅仅是一个可执行文件。
$ ./configure --enable-java --prefix=$PREFIX
要将Java网关编译并打包到JAR文件中,请运行make
。请注意,对于此步骤,您将需要路径中的javac
和jar
可执行文件。
make
现在,您在src / zabbix_java / bin中有一个zabbix-java-gateway- $ VERSION.jar文件。如果您可以从分发目录中的src / zabbix_java运行Java网关,那么可以继续阅读有关配置和运行Java gateway的说明。否则,请确保您具有足够的特权并运行make install
。
make install
继续进行设置,以获取有关配置和运行Java网关的更多详细信息。