如何在Rocky Linux上安装Zabbix监控工具如何在Rocky Linux上安装Zabbix监控工具如何在Rocky Linux上安装Zabbix监控工具如何在Rocky Linux上安装Zabbix监控工具
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在Rocky Linux上安装Zabbix监控工具

Zabbix是一款面向企业的开源监控软件。它不仅限于监控服务器,还可以监控网络设备、云服务、虚拟机和容器、数据库和应用程序、物联网传感器等。开源监控工具Zabbix建立在安全性之上:Zabbix组件之间的通信通过加密方式进行加密默认。 Zabbix 100% 开源,可以在本地和云端使用。它还支持分布式监控和高可用性。

得益于软件和硬件提供商的广泛支持,Zabbix 可以集成到众多应用程序和服务中。例如Zabbix与Google Cloud、Amazon Web Services等云服务的集成或者Zabbix与Prometheus、Grafana的集成等。

Zabbix的主要组件(服务器和代理)是用C编写的,前端是用PHP编写的。您可以安装具有不同数据库后端的 Zabbix,包括 MySQL、PostgreSQL、TimescaleDB、Oracle 和 SQLite。 Zabbix 是一款在 GNU GPL v2 许可证下发布的免费监控工具。

在本教程中,您将在 Rocky Linux 服务器上设置 Zabbix Enterprise 监控解决方案。您将安装 Zabbix,并使用 PostgreSQL 作为数据库后端和 Web 服务器 Apache2/httpd。这将允许您使用免费的企业级解决方案来监控您的服务器基础设施。您可以监控虚拟机、Linux、Windows、应用程序和服务、云以及网络设备。

先决条件

本教程将需要以下基础设施要求:

  • 全新的 Rocky Linux 服务器 - 这将用作安装 Zabbix 监控解决方案的 Zabbix 服务器。
  • Linux 主机 - 这将用作使用 Zabbix 监控 Linux 主机/机器的示例。
  • 您还需要所有这些服务器上的管理 sudo 权限。您可以使用直接的“root”用户或可以运行“sudo”命令的非root用户。

安装 Zabbix 软件包

在第一步中,您将为 Rocky Linux 系统设置 Zabbix 存储库并安装 Zabbix 监控工具的一些基本软件包。官方 Zabbix 存储库提供了多个 Linux 发行版的存储库,包括基于 CentOS/RHEL 的发行版 Rocky Linux。您还可以激活一些附加的软件包存储库,例如 PHP 7.4 和 PostgreSQL 数据库。

运行以下命令将 Zabbix 存储库添加到您的 Rocky Linux 系统。在撰写本文时,我们正在安装最新版本的 Zabbix 6.2。您还可以从官方 Zabbix 下载页面下载不同版本的 Zabbix。

sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.2/rhel/8/x86_64/zabbix-release-6.2-1.el8.noarch.rpm

接下来,运行以下 dnf 命令来检查并验证 Rocky Linux 系统上的存储库列表。然后创建一个新的存储库元数据缓存。

您应该看到 Zabbix 存储库已添加到 Rocky Linux 系统中。

sudo dnf repolist
sudo dnf makecache

Zabbix 需要用于 Zabbix 前端(用户仪表板)的 PHP 包。在撰写本文时,尚不支持 PHP v8.0。因此,您需要设置 PHP 存储库模块 v7.4。

执行以下 dnf 命令以启用 PHP v7.4 的 PHP 存储库模块。当提示配置时输入 y。

sudo dnf module enable php:7.4

现在使用以下 dnf 命令安装 Zabbix,并为 Zabbix 监控堆栈提供一些软件包依赖项。输入 Y 确认安装,然后按 ENTER。 Zabbix 的安装应该开始。

sudo dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

PostgreSQL服务器的安装

Zabbix 支持 RDBMS,例如 MariaDB/MySQL 和 PostgreSQL 作为数据库后端。在此示例中,我们将安装 Zabbix,并使用 PostgreSQL 作为数据库后端。因此,您安装 PostgreSQL 服务器并为 Zabbix 设置数据库和用户。

最新版本的 Zabbix 至少需要 PostgreSQL v13。执行以下 dnf 命令来激活 v13 的 PostgreSQL 存储库模块。

输入 y 确认并激活存储库模块“postgresql:13”。

sudo dnf module enable postgresql:13

使用以下命令安装 PostgreSQL 服务器。输入Y 确认安装,然后按ENTER 继续。

sudo dnf install postgresql-server postgresql-contrib

PostgreSQL 服务器现在应该安装在您的计算机上。现在执行以下命令来初始化 PostgreSQL 服务器的配置。

sudo postgresql-setup --initdb

使用以下命令启动并激活 PostgreSQL 服务。然后检查并验证 PostgreSQL 服务。

您现在应该看到 PostgreSQL 已“已激活”并且在系统启动时自动执行。当前状态为“正在运行”。

sudo systemctl enable --now postgresql
sudo systemctl status postgresql

要将 PostgreSQL 设置为 Zabbix 的数据库后端,您需要为 PostgreSQL 数据库用户设置正确的身份验证。您可以通过编辑 PostgreSQL 配置来完成此操作。

使用以下命令编辑文件“/var/lib/pgsql/data/postgresql.conf”。

sudo nano /var/lib/pgsql/data/postgresql.conf

从选项“password_encryption”中删除注释字符,并将值更改为“scram-sha-256”。此选项为所有 PostgreSQL 用户激活密码加密。

password_encryption = scram-sha-256

完成后保存并关闭文件。

接下来,使用以下命令编辑配置“/var/lib/pgsql/data/pg_hba.conf”。然后启用 PostgreSQL 用户的身份验证方法。

sudo nano /var/lib/pgsql/data/pg_hba.conf

将本地连接的本地身份验证更改为方法“scram-sha-256”。

IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256

完成后保存并关闭文件。

重新启动 PostgreSQL 服务以实施并应用更改。

sudo systemctl restart postgresql

您已完成使用“scram-sha-256”配置 PostgreSQL 服务器身份验证方法。您现在将为 Zabbix 创建一个新的 PostgreSQL 用户和数据库。

执行以下命令创建新的 PostgreSQL 用户。接下来,您将被要求进行一些配置:

  • 输入角色或新用户的名称“zabbix”。
  • 输入“n”以禁用此“zabbix”用户的超级用户。
  • 输入“y”以允许该用户创建数据库。
  • 再次输入“n”以禁用创建新角色的权限。
sudo -u postgres createuser --interactive

接下来,运行以下命令以“zabbix”用户登录PostgreSQL shell并连接到默认数据库“postgres”。

sudo -u zabbix psql -U zabbix -d postgres

在 PostgreSQL shell 中执行以下命令,创建一个名为“zabbix”的新数据库。然后设置用户“zabbix”的密码。在此示例中,我们使用密码“zabbixRocks”。

CREATE DATABASE zabbix;
ALTER USER zabbix WITH ENCRYPTED PASSWORD 'zabbixRocks';

按“Ctrl+d”或只需输入“\q”即可退出 PostgreSQL shell 并离开。

现在运行以下命令以确保新的 PostgreSQL 用户“zabbix”可以连接到 PostgreSQL 数据库“zabbix”。系统会要求您输入“zabbix”的密码,输入密码“zabbixRocks”。

sudo -u zabbix psql -U zabbix -d zabbix -h localhost

如果您登录的是“zabbix”数据库的PostgreSQL shell,请运行以下命令查看当前会话的连接详细信息。

您应该看到您已通过 PostgreSQL“zabbix”连接到 PostgreSQL 服务器“localhost”和数据库“zabbix”。

\conninfo

使用 PostgreSQL 数据库设置 Zabbix

安装 PostgreSQL 服务器并设置新数据库和用户后。现在设置 Zabbix,使用 PostgreSQL 作为数据库后端。

执行以下命令将 Zabbix 数据库架构导入 PostgreSQL 数据库“zabbix”。

zcat /usr/share/doc/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

接下来,使用以下命令编辑 Zabbix 服务器配置“/etc/zabbix/zabbix_server.conf”。

sudo nano /etc/zabbix/zabbix_server.conf

删除“DBPassword”行中的注释并输入“zabbix”数据库密码“zabbixRocks”。

DBPassword=zabbixRocks

完成后保存并关闭文件。

在重新启动 Zabbix 服务之前,您需要设置 SELinux 配置和 propel 防火墙规则。

运行以下命令为 Zabbix 设置 SELinux。此配置支持 Zabbix 前端和服务器之间的通信。

sudo setsebool -P httpd_can_connect_zabbix on
sudo setsebool -P httpd_can_network_connect_db on

现在执行以下命令为 Zabbix 添加防火墙规则。 HTTP服务用于访问Zabbix前端,端口“10050/tcp”由Zabbix代理使用。

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-port=10050/tcp --permanent
sudo firewall-cmd --reload

最后,执行以下命令启动并激活Zabbix堆栈服务。其中包括服务 zabbix-server、zabbix-agent、httpd、php-fpm 和 PostgreSQL。

sudo systemctl start zabbix-server zabbix-agent httpd php-fpm postgresql
sudo systemctl enable zabbix-server zabbix-agent httpd php-fpm postgresql

安装 Zabbix Web 界面

打开 Web 浏览器并调用 Zabbix 服务器的 IP 地址,后跟路径 URL“/zabbix”(即:http://192.168.5.100/zabbix)。您应该看到 Zabbix 监控工具的欢迎页面。

选择 Zabbix 安装的默认语言,然后单击“下一步”。

现在,Zabbix Web 安装程序将对 Zabbix 安装执行系统检查。确保状态为“确定”,然后单击“下一步”继续。

对于数据库配置,选择“PostgreSQL”作为数据库类型。然后输入数据库名称、数据库用户和密码。点击“下一步”继续。

如果您的数据库配置正确,您将看到一个新页面。但是,如果发生错误,您应该检查数据库详细信息并检查“/var/log/zabbix”下的 Zabbix 日志文件。此外,如果与 SELinux 相关的错误发生,您还可以检查“auditd”日志。

要配置 Zabbix Web 界面,请输入 Zabbix 服务器并选择时区。然后再次点击“下一步”。

再次检查 Zabbix 安装的配置。完成后,单击“下一步”开始安装 Zabbix Web 界面。

Zabbix 安装完成后,您将在屏幕上看到类似“恭喜!您已成功安装 Zabbix 前端”的消息。然后点击“完成”完成Web界面的安装。

您现在将被重定向到 Zabbix 登录屏幕。输入 Zabbix 默认用户“Admin”和密码“zabbix”。然后点击“登录”登录Zabbix管理仪表板。

您应该看到默认的 Zabbix 管理仪表板,如下面的屏幕截图所示。

您已完成 Zabbix Web 界面的安装。

通过 Zabbix 代理添加 Linux 主机

在 Zabbix 中添加和监控主机有多种方法。您可以通过Zabbix Agent、SNMP协议、IPMI和JMX监控Zabbix上的主机。在此示例中,您将通过 Zabbix 代理监控 Linux 主机。

要安装 Zabbix 代理,您需要将 Zabbix 存储库添加到 Linux 主机。

对于 Debian 发行版,使用以下命令添加 Zabbix 存储库。

wget https://repo.zabbix.com/zabbix/6.2/debian/pool/main/z/zabbix-release/zabbix-release_6.2-1+debian11_all.deb
sudo dpkg -i zabbix-release_6.2-1+debian11_all.deb
sudo apt update

如果您想监控 Ubuntu Linux 主机,则适用以下命令。

wget https://repo.zabbix.com/zabbix/6.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.2-1+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.2-1+ubuntu22.04_all.deb
sudo apt update

对于基于 RHEL/CentOS 的发行版,请使用以下命令添加 Zabbix 存储库。

sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.2/rhel/8/x86_64/zabbix-release-6.2-1.el8.noarch.rpm
sudo dnf repolist
sudo dnf makecache

使用以下命令安装“zabbix-agent”软件包。对于基于 Debian/Ubuntu 的系统使用 apt 命令,对于基于 RHEL/CentOS 的发行版使用 dnf 命令。

sudo apt install zabbix-agent
or
sudo dnf install zabbix-agent

安装完成后,使用以下命令编辑 Zabbix Agent 配置文件“/etc/zabbix/zabbix_agentd.conf”。

sudo nano /etc/zabbix/zabbix_agentd.conf

取消注释“Server”和“ServerActive”选项并输入 Zabbix 服务器的 IP 地址。

Server=IP-ADDRESS-of-ZABBIX-SERVER
ServerActive=IP-ADDRESS-of-ZABBIX-SERVER

将“主机名”配置更改为您的 Linux 主机,并将“HostnameItem”更改为“system.hostname”。在此示例中,Linux 主机将使用主机名“linux-host1”。

Hostname=linux-host1
HostnameItem=system.hostname

完成后保存并关闭文件。

现在使用以下 systemctl 命令启动服务“zabbix-agent”。

sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

您还必须在 Linux 目标计算机上打开 Zabbix 代理端口“10050/tcp”。对于 Ubuntu/Debian 系统,您可以使用命令 ufw,对于基于 RHEL/CentOS 的发行版,您可以使用命令“firewall-cmd”。

sudo ufw allow 10050/tcp
sudo ufw status

或者

sudo firewall-cmd --add-port=10050/tcp --permanent
sudo firewall-cmd --reload

转到 Zabbix 管理仪表板。点击“监控”>“主机”>“创建主机”。

输入主机配置详细信息,如下所述:

  • 主机名:我们使用系统主机名 linux-host1。
  • 模板:我们使用模板“Linux by Zabbix Agent”。
  • 主机组:此部分称为“Linux 服务器”。
  • 接口:我们将使用“代理”,目标 IP 地址为“linux-host1”,IP 地址为“192.168.5.120”,默认端口为“10050”。
  • 已启用:选中该框以激活该主机。

切换到“标签”选项卡并创建一个新标签。在此示例中,我们将创建一个值为“RHEL”的新标签“OS”。

点击“添加”确认并添加主机。

然后可以看到主机“linux-host1”已通过Zabbix代理添加到Zabbix监控中。

在“可用性”部分,您将看到绿色状态“ZBX”,这意味着主机正在运行,没有任何问题。如果您的主机出现错误,“可用性”部分将变成红色。

下面您可以看到“linux-host1”主机的当前图形。

结论

在本教程中,您学习了如何在 Rocky Linux 上安装和配置 Zabbix 监控解决方案,其中 PostgreSQL 作为数据库后端,Apache2/httpd 作为 Web 服务器。您还了解了 PostgreSQL 服务器的基本配置,以便为 PostgreSQL 用户设置身份验证。最后,您学习了如何通过 Zabbix Agent 使用 Zabbix 监控解决方案添加和监控 Linux 主机。

©2015-2025 艾丽卡 support@alaica.com