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 get 和 Zabbix sender 也可用于 RHEL 7、RHEL 6 和 RHEL5。
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 导入命令,还 要执行:
# 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 及更高版本:
# setsebool -P httpd_can_connect_zabbix on
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:
# setsebool -P httpd_can_network_connect_db on
RHEL 7 之前的版本:
# setsebool -P httpd_can_network_connect on
# setsebool -P zabbix_can_network on
前端和 SELinux 配置完成后,重启 Apache 网络服务器:
# service httpd restart
此外,Zabbix 提供 zabbix-selinux-policy 包作为 RHEL 8 和 RHEL 7 源 RPM 包的一部分。这个包为 SELinux 提供了一个基本的默认策略,并通过允许 Zabbix 创建和使用套接字并启用与 PostgreSQL 的 httpd 连接(由前端使用)使 zabbix 组件开箱即用。
源 zabbix_policy.te文件包含以下规则:
module zabbix_policy 1.2;
require {
type zabbix_t;
type zabbix_port_t;
type zabbix_var_run_t;
type postgresql_port_t;
type httpd_t;
class tcp_socket name_connect;
class sock_file { create unlink };
class unix_stream_socket connectto;
}
#============= zabbix_t ==============
allow zabbix_t self:unix_stream_socket connectto;
allow zabbix_t zabbix_port_t:tcp_socket name_connect;
allow zabbix_t zabbix_var_run_t:sock_file create;
allow zabbix_t zabbix_var_run_t:sock_file unlink;
allow httpd_t zabbix_port_t:tcp_socket name_connect;
#============= httpd_t ==============
allow httpd_t postgresql_port_t:tcp_socket name_connect;
创建这个包是为了防止用户因为配置复杂而关闭 SELinux。它包含足以加速 Zabbix 部署和配置的默认策略。为获得最高安全级别,建议设置自定义 SELinux 设置。
Proxy 安装
添加好所需软件源后,可通过执行以下命令来安装Zabbix proxy:
# dnf install zabbix-proxy-mysql
将命令中的 ‘mysql’ 替换为 ‘pgsql’ 以使用 PostgreSQL,或者替换为 ‘sqlite3’ 以使用 SQLite3 (仅proxy适用)。
创建数据库
为Zabbix proxy 单独创建数据库 。
Zabbix server和Zabbix proxy 不能使用同一个数据库。如果他们是安装在同一个主机中的,则proxy数据库需要另命名。
导入数据
导入初始数据库模式
# cat /usr/share/doc/zabbix-sql-scripts/mysql/proxy.sql | mysql -uzabbix -p zabbix
对于使用 PostgreSQL(或 SQLite)的 proxy:
# cat /usr/share/doc/zabbix-sql-scripts/postgresql/proxy.sql | sudo -u zabbix psql zabbix
# cat /usr/share/doc/zabbix-sql-scripts/sqlite3/proxy.sql | sqlite3 zabbix.db
为Zabbix proxy配置数据库
编辑 zabbix_proxy.conf:
# vi /etc/zabbix/zabbix_proxy.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
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 进程并使其在系统启动时启动,请执行以下操作:
# service zabbix-proxy start
# systemctl enable zabbix-proxy
前端配置
Zabbix proxy 没有前端;它只与Zabbix server通信。
安装Java gateway
仅当你想监控 JMX 应用程序时,才需要安装 Java gateway。 Java gateway 是轻量级的不需要数据库。
一旦添加了所需软件源,就可通过执行如下命令安装 Zabbix Java gateway:
# 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 存储库。
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.4/rhel/8/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
然后就可以安装zabbix-debuginfo软件包了。
# yum install zabbix-debuginfo
这个软件包里包含所有二进制 Zabbix 组件的 debug 信息。