概述

    一些 Zabbix agent 和 Zabbix proxy 发行包也适用于 和 RHEL 5

    添加 Zabbix 软件仓库

    安装软件仓库配置包,这个包包含了 yum(软件包管理器)的配置文件。

    RHEL 7:

    RHEL 6:

    1. # rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/6/x86_64/zabbix-release-4.0-1.el6.noarch.rpm

    RHEL 5:

    1. # rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/5/x86_64/zabbix-release-4.0-1.noarch.rpm

    前端安装的先决条件

    Zabbix 前端需要额外的基础安装包。 您需要在运行 Zabbix 前端的系统中启用可选 rpms 的软件仓库:

    RHEL 7:

    1. # yum-config-manager --enable rhel-7-server-optional-rpms

    安装 Server/proxy/前端

    安装 Zabbix server(适用于 RHEL7,)并使用 MySQL 数据库:

    1. # yum install zabbix-server-mysql

    安装 Zabbix proxy 并使用 MySQL 数据库:

      安装 Zabbix 前端(适用于 RHEL 7,在 RHEL 6 上弃用)并使用 MySQL 数据库:

      1. # yum install zabbix-web-mysql

      若使用PostgreSQL,则将命令中的 ‘mysql’ 替换为 ‘pgsql’;SQLite3则替换为 ‘sqlite3’ (仅 Zabbix proxy)。

      创建数据库

      对于 Zabbix 和 proxy 守护进程而言,数据库是必须的。而运行 Zabbix 是不需要的。

      如果 Zabbix server 和 Zabbix proxy 安装在相同的主机,它们必须创建不同名字的数据库!

      使用 MySQL 或 提供的说明来创建数据库。

      导入数据

      使用 MySQL 来导入 Zabbix server 的初始数据库 schema 和数据,

      使用 PostgreSQL:

      1. # zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u <username> psql zabbix

      对于 Zabbix proxy,导入初始的数据库 schema:

      1. # zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix

      对于使用 PostgreSQL(或 SQLite)的 Zabbix proxy:

      1. # zcat /usr/share/doc/zabbix-proxy-pgsql*/schema.sql.gz | sudo -u <username> psql zabbix
      2. # zcat /usr/share/doc/zabbix-proxy-sqlite3*/schema.sql.gz | sqlite3 zabbix.db

      为 Zabbix server/proxy 配置数据库

      编辑 zabbix_server.conf 或 zabbix_proxy.conf 文件以使用已创建的数据库。例如:

      1. # vi /etc/zabbix/zabbix_server.conf
      2. DBName=zabbix
      3. DBUser=zabbix
      4. DBPassword=<password>

      在 DBPassword 参数中输入由 MySQL 或 PosgreSQL 创建的 Zabbix 数据库密码。

      在 PostgreSQL 使用 DBHost=。 您可能希望保留默认设置 DBHost=localhost(或 IP 地址),但这会使 PostgreSQL 使用网络套接字连接到 Zabbix。 有关说明,详见下面的SELinux 配置

      启动 Zabbix server 进程

      运行以下命令以启动 Zabbix server 进程:

      1. # service zabbix-server start

      并在系统启动时让它自启:

      RHEL 7 或更高版本:

      1. # systemctl enable zabbix-server

      RHEL 7 之前的版本:

      使用 ‘zabbix-proxy’ 替换命令中的 ‘zabbix-server’ 以启动和自启 Zabbix proxy。

      Zabbix 前端配置

      对于 RHEL 7 和更高版本,Zabbix 前端的 Apache 配置文件位于 /etc/httpd/conf.d/zabbix.conf。

      如果使用 RHEL 6,详见 在 RHEL 6 上使用Zabbix前端 章节来了解如何配置前端。

      虽然已经配置了一些 PHP 参数。但是有必要取消 “date.timezone” 注释,并为其 。

      1. php_value max_execution_time 300
      2. php_value memory_limit 128M
      3. php_value post_max_size 16M
      4. php_value upload_max_filesize 2M
      5. php_value always_populate_raw_post_data -1
      6. # php_value date.timezone Europe/Riga

      以此 前端安装步骤 来完成 Zabbix 前端的安装,并访问新安装的 Zabbix 前端页面。

      SELinux 配置

      在 enforcing 模式下启用 SELinux 状态后,您需要执行以下命令以启用 Zabbix 前端和 Zabbix server 之间的通信:

      RHEL 7 或更高版本:

      1. # setsebool -P httpd_can_connect_zabbix on
      2. 如果数据库可以通过网络访问(在 PostgreSQL 情况下包括 'localhost'),您也需要允许 Zabbix 前端连接到数据库:
      1. # setsebool -P httpd_can_network_connect_db on

      RHEL 7 之前的版本:

      1. # setsebool -P httpd_can_network_connect on
      2. # setsebool -P zabbix_can_network on

      待前端和 SELinux 配置完成后,需要重新启动 Apache web 服务器:

      1. # service httpd restart

      安装 Agent

      运行以下命令以安装 Zabbix agent :

      1. # yum install zabbix-agent

      运行以下命令以启动 Zabbix agent:

      在 RHEL 6 上使用 Zabbix 前端

      由于 PHP 版本,不支持 RHEL 6 上的 Zabbix 前端。 由于 Zabbix 3.0 的要求是 PHP 5.4.0 或更高版本,而 RHEL 6 最新版本是5.3.3。

      在大多数情况下,Zabbix server 和前端安装在同一台机器上。当从 2.2 升级到 3.0 时,Zabbix server 将执行数据库升级,前端会停止工作。无法回滚数据库更改,因此用户将被迫使用第三方软件包升级 PHP。 这就是为什么 Zabbix server 在 RHEL 6 上也被弃用的原因。

      如果您仍想在 RHEL 6 上使用 Zabbix 前端并使用第三方软件包升级您的 PHP,则需要首先启用 zabbix-deprecated 软件仓库:

      • 打开 /etc/yum.repos.d/zabbix.repo 文件

      • 找到 [zabbix-deprecated] 部分

      • 将其启用 enabled=1

      • 保存文件

      至此,您将不得不进行更多手动配置。 这是因为 Zabbix 无法识别 PHP 所需的 Apache 版本,因此无法为 Zabbix 前端提供正确的 Apache 配置。为此,在 zabbix-web 软件包中包含了 2 个 Apache 配置文件,一个用于 Apache 2.2,另一个用于 2.4,您需要手动与 Apache 配置集成:

      • httpd22-example.conf

      要获取文件的完整路径,请执行:

      1. $ rpm -ql zabbix-web | grep example.conf