1 Red Hat 企业版 Linux/CentOS

概述

官方 Zabbix 软件包可用于:

RHEL 8, CentOS 8 and Oracle Linux 8下载

软件包可用于 MySQL/PostgreSQL 数据库和 Apache/Nginx 网络服务器支持。

Zabbix 6.2 尚未发布。下载链接指向 6.2 之前的软件包。

由于 MySQL 库较旧,验证 Verify CA 加密模式不适用于带有 MySQL 库的 RHEL 7。

Zabbix agent 软件包和实用程序 Zabbix getZabbix sender 也可用于 RHEL 7RHEL 6RHEL5

Zabbix 官方仓库也提供 fping 和 libssh2 包。这些包位于不受支持的 目录中。

安装注意事项

参见不同平台下载页面的安装说明

  • 安装软件源
  • 安装server/agent/前端
  • 创建初始数据库,导入初始数据
  • 为Zabbix server配置数据库
  • 为Zabbix前端配置PHP
  • 启动server/agent进程
  • 配置Zabbix前端

如果要以root用户身份运行Zabbix agent,请参见 以root用户运行agent

Zabbix web service进程用于生成定时报表,需要Google浏览器。在软件包中不包含浏览器,必须手动单独安装。

使用 Timescale DB 导入数据

使用 TimescaleDB,除了为 PostgreSQL 导入命令,还 要执行:

  1. # cat /usr/share/doc/zabbix-sql-scripts/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix

TimescaleDB 仅支持 Zabbix 服务器。

PHP 7.2

Zabbix 前端需要 7.2 或更新的PHP版本。

配置 SELinux

Zabbix 使用基于套接字的进程间通信。在启用 SELinux 的系统上,可能需要添加 SELinux 规则以允许 Zabbix 在 SocketDir 目录中创建/使用 UNIX 域套接字。当前,server(警报器、预处理器、IPMI)和 proxy(IPMI)使用套接字文件。套接字文件是持久的,这意味着它们在进程运行时存在。

在 enforcing 模式下启用 SELinux 状态,你需要执行以下命令来启用 Zabbix 前端和服务器之间的通信:

RHEL 7 及更高版本:

  1. # setsebool -P httpd_can_connect_zabbix on
  2. If the database is accessible over network (including 'localhost' in case of PostgreSQL), you need to allow Zabbix frontend to connect to the database too:
  3. # 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 网络服务器:

  1. # service httpd restart

此外,Zabbix 提供 zabbix-selinux-policy 包作为 RHEL 8RHEL 7 源 RPM 包的一部分。这个包为 SELinux 提供了一个基本的默认策略,并通过允许 Zabbix 创建和使用套接字并启用与 PostgreSQL 的 httpd 连接(由前端使用)使 zabbix 组件开箱即用。

zabbix_policy.te文件包含以下规则:

  1. module zabbix_policy 1.2;
  2. require {
  3. type zabbix_t;
  4. type zabbix_port_t;
  5. type zabbix_var_run_t;
  6. type postgresql_port_t;
  7. type httpd_t;
  8. class tcp_socket name_connect;
  9. class sock_file { create unlink };
  10. class unix_stream_socket connectto;
  11. }
  12. #============= zabbix_t ==============
  13. allow zabbix_t self:unix_stream_socket connectto;
  14. allow zabbix_t zabbix_port_t:tcp_socket name_connect;
  15. allow zabbix_t zabbix_var_run_t:sock_file create;
  16. allow zabbix_t zabbix_var_run_t:sock_file unlink;
  17. allow httpd_t zabbix_port_t:tcp_socket name_connect;
  18. #============= httpd_t ==============
  19. allow httpd_t postgresql_port_t:tcp_socket name_connect;

创建这个包是为了防止用户因为配置复杂而关闭 SELinux。它包含足以加速 Zabbix 部署和配置的默认策略。为获得最高安全级别,建议设置自定义 SELinux 设置。

Proxy 安装

添加好所需软件源后,可通过执行以下命令来安装Zabbix proxy:

  1. # dnf install zabbix-proxy-mysql

将命令中的 ‘mysql’ 替换为 ‘pgsql’ 以使用 PostgreSQL,或者替换为 ‘sqlite3’ 以使用 SQLite3 (仅proxy适用)。

创建数据库

为Zabbix proxy 单独创建数据库

Zabbix server和Zabbix proxy 不能使用同一个数据库。如果他们是安装在同一个主机中的,则proxy数据库需要另命名。

导入数据

导入初始数据库模式

  1. # cat /usr/share/doc/zabbix-sql-scripts/mysql/proxy.sql | mysql -uzabbix -p zabbix

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

  1. # cat /usr/share/doc/zabbix-sql-scripts/postgresql/proxy.sql | sudo -u zabbix psql zabbix
  2. # cat /usr/share/doc/zabbix-sql-scripts/sqlite3/proxy.sql | sqlite3 zabbix.db
为Zabbix proxy配置数据库

编辑 zabbix_proxy.conf:

  1. # vi /etc/zabbix/zabbix_proxy.conf
  2. DBHost=localhost
  3. DBName=zabbix
  4. DBUser=zabbix
  5. DBPassword=<password>

在 Zabbix proxy 的 DBName 中,使用与 Zabbix server 不同的数据库。

在 DBPassword 中为 MySQL 使用 Zabbix 数据库密码; PosgreSQL 用户 PosgreSQL 的密码。

DBHost= 与PostgreSQL一起用,你可能需要保留默认设置 DBHost=localhost (或1个 IP 地址),但这可能会使PostgreSQL 通过网络套连接至Zabbix。参考 SELinux configuration获取说明。

启动 Zabbix proxy进程

要启动 Zabbix proxy 进程并使其在系统启动时启动,请执行以下操作:

  1. # service zabbix-proxy start
  2. # systemctl enable zabbix-proxy
前端配置

Zabbix proxy 没有前端;它只与Zabbix server通信。

安装Java gateway

仅当你想监控 JMX 应用程序时,才需要安装 Java gateway。 Java gateway 是轻量级的不需要数据库。

一旦添加了所需软件源,就可通过执行如下命令安装 Zabbix Java gateway:

  1. # dnf install zabbix-java-gateway

了解更多关于配置和运行Java gateway的详细信息可跳转至java 设置

安装debuginfo包

Debuginfo软件包目前可用于 RHEL/CentOS 版本7, 6 和 5。

要启用 debuginfo 软件源,请编辑 /etc/yum.repos.d/zabbix.repo 文件。将 enabled=0 改为enabled=1 用于 zabbix-debuginfo 存储库。

  1. [zabbix-debuginfo]
  2. name=Zabbix Official Repository debuginfo - $basearch
  3. baseurl=http://repo.zabbix.com/zabbix/5.4/rhel/8/$basearch/debuginfo/
  4. enabled=0
  5. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
  6. gpgcheck=1

然后就可以安装zabbix-debuginfo软件包了。

  1. # yum install zabbix-debuginfo

这个软件包里包含所有二进制 Zabbix 组件的 debug 信息。