1 Red Hat 企业版 Linux
概述
官方的 Zabbix 7.0 软件包适用于 Red Hat Enterprise Linux (RHEL) 版本 6、7、8 和 9,以及 AlmaLinux、CentOS Stream、Oracle Linux 和 Rocky Linux 的版本 8 和 9,可在 Zabbix 官网 上获取。
::: 注意事项 Zabbix 软件包专为 RHEL 系统设计。 其他环境,如 Red Hat Universal Base Image,可能缺少成功安装所需的依赖项和仓库访问权限。 要解决这些问题,请在从软件包安装 Zabbix 之前,验证与目标环境的兼容性,并确保可以访问所需的仓库和依赖项。 更多信息,请参见 已知问题。 :::
软件包提供以下内容:
- 支持 MySQL 或 PostgreSQL 数据库
- 支持 Apache 或 Nginx Web 服务器
_Zabbix agent软件包以及 Zabbix get 和 Zabbix sender 实用工具也在 Zabbix 官方仓库中提供,适用于以下操作系统:
官方 Zabbix 仓库还提供了 fping
、iksemel
和 libssh2
软件包。这些软件包位于 非支持 目录。
::: 注意事项 EL9 的 EPEL 仓库也提供了 Zabbix 软件包。如果同时安装了官方 Zabbix 仓库和 EPEL 仓库, 那么 EPEL 中的 Zabbix 软件包 必须 通过在 /etc/yum.repos.d/
下的 EPEL 仓库配置文件中添加以下条款来排除:
[epel] ... excludepkgs=zabbix*
另见:排除安装 EPEL Zabbix 软件包 :::
安装注意事项
请参阅下载页面上的安装指南,根据平台进行以下操作:
- 安装仓库
- 安装server/agent/frontend
- 创建初始数据库,导入初始数据
- 为 Zabbix server配置数据库
- 为 Zabbix frontend配置 PHP
- 启动server/agent进程
- 配置 Zabbix frontend
如果您希望以 root 用户身份运行 Zabbix agent,请查看以 root 用户身份运行 agent。
Zabbix web service进程,用于定时报告生成,需要使用 Google Chrome 浏览器。浏览器没有包含在软件包中,需要您手动安装
使用时序数据库导入数据
使用 TimescaleDB,除了 PostgreSQL 的导入命令外,还需运行:
· # cat /usr/share/zabbix-sql-scripts/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix
只有 Zabbix server支持 TimescaleDB。
SELinux 配置
Zabbix 使用基于套接字的进程间通信。 在启用 SELinux 的系统上,可能需要添加 SELinux 规则以允许 Zabbix 在 SocketDir 目录中创建/使用 UNIX 域套接字。 当前套接字文件由 server(告警器、预处理、IPMI)和 proxy(IPMI)使用。 套接字文件是持久的,这意味着它们在进程运行时存在。
在强制模式下启用 SELinux 状态后,您需要执行以下命令以启用 Zabbix 前端和server 之间的通信:
RHEL 7 及更高版本:
· # setsebool -P httpd_can_connect_zabbix on · 如果可以通过网络访问数据库(包括 PostgreSQL 中的“localhost”),您也需要允许 Zabbix 前端连接到数据库: · # setsebool -P httpd_can_network_connect_db on
7 之前的 RHEL:
· # setsebool -P httpd_can_network_connect on · # setsebool -P zabbix_can_network on
前端和 SELinux 配置完成后,重启 Apache Web 服务器:
· # service httpd restart
此外,Zabbix 为以下操作系统提供了 zabbix-selinux-policy
软件包,作为源 RPM 软件包的一部分:
该软件包提供了 SELinux 的基本默认策略,并通过允许 Zabbix 创建和使用套接字以及启用 httpd 连接到 PostgreSQL(前端使用)来使 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 zabbix-sql-scripts
将命令中的“mysql”替换为“pgsql”以使用 PostgreSQL,或替换为“sqlite3”以使用 SQLite3(仅限 proxy)。
“zabbix-sql-scripts”包包含 Zabbix server 和 Zabbix proxy 的所有支持的数据库管理系统的数据库模式,并将用于数据导入。
创建数据库
创建 Zabbix proxy的单独数据库。
Zabbix server 和 Zabbix proxy 不能使用同一个数据库。 如果它们安装在同一台主机上,则proxy 数据库必须具有不同的名称。
导入数据
导入初始schema:
· # cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql -uzabbix -p zabbix
对于 PostgreSQL(或 SQLite)的 proxy:
· # cat /usr/share/zabbix-sql-scripts/postgresql/proxy.sql | sudo -u zabbix psql zabbix · # cat /usr/share/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 数据库密码; PostgreSQL 的 PostgreSQL 用户密码。
在 PostgreSQL 中使用 DBHost=
。 您可能希望保留默认值设置 DBHost=localhost
(或 IP 地址),但这会使PostgreSQL 使用网络套接字连接到 Zabbix。 有关说明,请参阅 SELinux 配置 (/manual/installation/install_from_packages/rhel#selinux_configuration)。
启动Zabbix proxy进程
要启动 Zabbix proxy进程并使其在系统启动时启动:
· # service zabbix-proxy start · # systemctl enable zabbix-proxy
前端配置
Zabbix proxy没有frontend; 它只与 Zabbix server通信。
Java gateway 安装
只有在以下情况下才需要安装 Java gateway 您想要监视 JMX 应用程序。 Java网关是轻量级的,不需要数据库。
添加所需的存储库后,您可以通过运行以下命令安装 Zabbix Java gateway :
· # dnf install zabbix-java-gateway
继续 setup 了解有关配置和运行 Java gateway 的更多详细信息。
安装debuginfo包
debuginfo 软件包仅适用于 RHEL 版本 7 和 6
要启用 debuginfo 仓库,请编辑 /etc/yum.repos.d/zabbix.repo 文件。将 zabbix-debuginfo 仓库的 enabled=0
更改为 enabled=1
。
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=http://repo.zabbix.com/zabbix/7.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
这样您就可以安装 zabbix-debuginfo 软件包了。
dnf install zabbix-debuginfo
这个单一的软件包包含了所有二进制 Zabbix 组件的调试信息。