1 红帽企业版 Linux

概述

适用于Red Hat Enterprise Linux和Oracle Linux的官方Zabbix 6.0 LTS软件包可在 Zabbix website获取。

Red Hat Enterprise Linux系统的Zabbix软件包仅适用于RHEL系统。 其他环境(如Red Hat Universal Base Image)可能缺少成功安装所需的依赖项和仓库访问权限。 针对此类问题,在从软件包安装Zabbix前,请确认目标环境兼容性并确保能访问所需的仓库和依赖项。 更多信息请参阅red-hat-ubi环境中的rhel-zabbix包

提供的软件包支持MySQL/PostgreSQL数据库及Apache/nginx网页服务器。

Zabbix agent软件包及工具Zabbix getZabbix sender可在Zabbix官方仓库中获取,支持: RHEL 9RHEL 8RHEL 7RHEL 6以及 RHEL 5

自Zabbix 6.0.35起,由于Go 1.22(及更新版本)与RHEL 6提供的GCC 4.4.7不兼容导致编译错误,RHEL 6不再提供Zabbix agent 2软件包。 但请注意,Zabbix agent packages仍受支持。

Zabbix官方仓库还提供fpingiksemellibssh2软件包。这些软件包位于 non-supported目录。

EL9的EPEL仓库也提供Zabbix软件包。若同时安装了官方Zabbix仓库和EPEL仓库, 则必须通过在EPEL仓库配置file的/etc/yum.repos.d/下添加以下排除条款来禁用EPEL中的Zabbix软件包:

[epel]
       ...
       excludepkgs=zabbix*

另请参阅:意外安装-epel-zabbix-软件包

安装注意事项

请参阅下载页面中installation instructions 各平台的说明以了解:

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

如需以root身份runZabbix agent,请参阅Running agent as root

用于scheduled report generation的Zabbix网页服务进程 需要Google Chrome浏览器。该浏览器不包含在 软件包中,需手动安装。

使用Timescale DB导入数据

使用TimescaleDB时,除了PostgreSQL的import命令外, 还需执行run:

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

TimescaleDB仅支持Zabbix server。

PHP 7.2

Zabbix前端需要PHP version 7.2或更高版本.

SELinux配置

Zabbix采用基于套接字的进程间通信机制。在启用SELinux的系统上,可能需要添加SELinux规则以允许Zabbixcreate/使用SocketDir目录中的UNIX域套接字。当前套接字文件被服务器端(告警器、预处理器、IPMI)和proxy(IPMI)使用。套接字文件具有持久性,意味着它们在进程运行期间持续存在。

在SELinux处于强制模式的情况下,您需要execute以下命令来启用Zabbix前端与服务器之间的通信:

RHEL 7及更高版本:

setsebool -P httpd_can_connect_zabbix on

如果数据库可通过网络访问(包括PostgreSQL的'localhost'情况),您还需要允许Zabbix前端连接数据库:

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 Web服务器:

systemctl restart httpd

此外,Zabbix在RHEL 8RHEL 7的源码RPM包中提供了zabbix-selinux-policy软件包。该软件包为SELinux提供了基本默认策略,通过允许Zabbixcreate和使用套接字,并启用httpd与PostgreSQL的连接(供前端使用),使Zabbix组件能够开箱即用。

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

module zabbix_policy 1.2;
       
       require {
         type zabbix_t;
         类型 zabbix_port_t;
         type zabbix_var_run_t;
         type postgresql_port_t;
         type httpd_t;
         class tcp_socket name_connect;  

class TCP套接字 name_connect; class sock_file { create unlink }; class unix_stream_socket connectto; }

#============= Zabbix技术文档 ============== 允许 zabbix_t 自身:unix_stream_socket 连接至; 允许 zabbix_t zabbix_port_t:tcp_socket name_connect; allow zabbix_t zabbix_var_run_t:sock_file create; 允许 zabbix_t zabbix_var_run_t:sock_file 取消链接; 允许 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)的数据库模式,并将用于数据import。

创建数据库

Create 为 Zabbix proxy 使用独立数据库

Zabbix server 和 Zabbix proxy 不能使用同一数据库。若它们安装在同一台 主机 上,proxy 数据库必须使用不同名称。

导入数据

导入初始架构:

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

对于proxy使用PostgreSQL(或SQLite):

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 配置 file (/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配置.

启动 Zabbix proxy 进程

启动Zabbix proxy进程并设置为开机自启:

systemctl start zabbix-proxy systemctl enable zabbix-proxy

前端配置

Zabbix proxy没有前端界面,仅与Zabbix服务器进行通信。

Java网关安装

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

添加所需仓库后,可通过以下命令安装Zabbix Java网关:

dnf install zabbix-java-gateway

前往setup获取有关配置和运行Java网关的更多详细信息。

安装debuginfo包

Debuginfo软件包目前适用于RHE版本7、6和5。

要启用debuginfo仓库,请编辑 /etc/yum.repos.d/zabbix.repo file。将enabled=0修改为enabled=1 以启用zabbix-debuginfo仓库。

[zabbix-debuginfo]
       name=Zabbix Official Repository debuginfo - $basearch
       baseurl=http://repo.zabbix.com/zabbix/5.5/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二进制组件的调试信息。