这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会

1 Red Hat 企业版 Linux

概述

适用于 Red Hat Enterprise Linux 和 Oracle Linux 的官方 Zabbix 6.0 LTS 软件包可在 Zabbix 网站

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

Zabbix agent 包和实用程序 Zabbix getZabbix sender 在 Zabbix 官方存储库上可用 RHEL 9, RHEL 8, RHEL 7, RHEL 6,以及 RHEL 5

Zabbix 官方存储库也提供 fpingiksemellibssh2 包。 这些包位于 不支持 目录。

EL9 的 EPEL 存储库也提供了 Zabbix 包。 如果同时安装了官方 Zabbix 存储库和 EPEL 存储库,那么 EPEL 中的 Zabbix 包必须通过在 /etc/yum.repos.d/ 下的 EPEL 存储库配置文件中添加以下子句来排除:

· [epel] · ... · excludepkgs=zabbix*

安装注意事项

请参阅下载页面中每个平台的安装说明

  • · 安装存储库
  • · 安装服务器/代理/前端
  • · 创建初始数据库,导入初始数据
  • ·为Zabbix服务器配置数据库
  • · 为 Zabbix 前端配置 PHP
  • · 启动服务器/代理进程
  • · 配置 Zabbix 前端

如果您想以 root 身份运行 Zabbix agent,请参阅 Running agent as root

Zabbix web服务进程,用于[计划报告生成](/manual/web_interface/frontend_sections/reports/scheduled), 需要谷歌浏览器。 浏览器不包含在包中,必须手动安装。

使用时序数据库导入数据

使用 TimescaleDB,除了 PostgreSQL 的导入命令外,还需运行:

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

只有 Zabbix 服务器支持 TimescaleDB。

PHP 7.2

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

SELinux 配置

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

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

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 包作为 RHEL 8 和 [RHEL 7] 源 RPM 包的一部分 (http://repo.zabbix.com/zabbix/6.0/rhel/8/SRPMS/)。 这个包为 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 设置。

代理安装

添加所需的存储库后,您可以通过运行以下命令安装 Zabbix 代理:

· # dnf install zabbix-proxy-mysql zabbix-sql-scripts

将命令中的“mysql”替换为“pgsql”以使用 PostgreSQL,或替换为“sqlite3”以使用 SQLite3(仅限代理)。

“zabbix-sql-scripts”包包含 Zabbix 服务器和 Zabbix 代理的所有支持的数据库管理系统的数据库模式,并将用于数据导入。

创建数据库

创建 Zabbix 代理的单独数据库。

Zabbix server 和 Zabbix proxy 不能使用同一个数据库。 如果它们安装在同一台主机上,则代理数据库必须具有不同的名称。

#####导入数据

导入初始schema:

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

对于 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 代理配置数据库

编辑 zabbix_proxy.conf:

· # vi /etc/zabbix/zabbix_proxy.conf · DBHost=localhost · DBName=zabbix · DBUser=zabbix · DBPassword=<password>

在 Zabbix 代理的 DBName 中,使用与 Zabbix 服务器不同的数据库。

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

在 PostgreSQL 中使用 DBHost=。 您可能希望保留默认值设置 DBHost=localhost(或 IP 地址),但这会使PostgreSQL 使用网络套接字连接到 Zabbix。 有关说明,请参阅 SELinux 配置 (/manual/installation/install_from_packages/rhel#selinux_configuration)。

启动Zabbix代理进程

要启动 Zabbix 代理进程并使其在系统启动时启动:

· # service zabbix-proxy start · # systemctl enable zabbix-proxy

前端配置

Zabbix 代理没有前端; 它只与 Zabbix 服务器通信。

Java网关安装

只有在以下情况下才需要安装 Java 网关 您想要监视 JMX 应用程序。 Java网关是轻量级的,不需要数据库。

添加所需的存储库后,您可以通过运行以下命令安装 Zabbix Java 网关:

· # dnf install zabbix-java-gateway

继续 setup 了解有关配置和运行 Java 网关的更多详细信息。

安装调试信息包

Debuginfo 包目前可用于 RHE 版本 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.5/rhel/7/$basearch/debuginfo/ · enabled=0 · gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 · gpgcheck=1

这将允许您安装 zabbix-debuginfo 包。

· # yum install zabbix-debuginfo

这个单一的包包含所有二进制 Zabbix 的调试信息组件。