监控系统对于任何规模的企业来说都是至关重要的。Zabbix 是一款流行的开源监控解决方案,而 CentOS 8 部署 Zabbix 7.0 LTS 配合 PostgreSQL 数据库可以提供一个稳定且高性能的监控平台。本文将详细介绍如何在 CentOS 8 上安装 Zabbix 7.0 LTS,并配置 PostgreSQL 数据库以及不同系统的 Agent 安装。
准备工作
- 一台安装了 CentOS 8 的服务器(建议全新安装)。
- 具备 root 权限的用户。
- 确保服务器可以访问互联网,以便下载所需的软件包。
安装 PostgreSQL 数据库
Zabbix 7.0 LTS 推荐使用 PostgreSQL 作为数据库。首先,我们需要安装 PostgreSQL 数据库服务器。
dnf install -y postgresql-server postgresql-contrib # 安装 PostgreSQL 服务器和客户端工具
postgresql-setup --initdb --unit postgresql # 初始化数据库
systemctl start postgresql # 启动 PostgreSQL 服务
systemctl enable postgresql # 设置 PostgreSQL 服务开机自启
接下来,我们需要配置 PostgreSQL 的用户和权限,以便 Zabbix 可以访问数据库。
su - postgres # 切换到 postgres 用户
psql # 进入 PostgreSQL 命令行界面
CREATE USER zabbix WITH PASSWORD 'your_password'; # 创建 zabbix 用户,替换 your_password 为你的密码
CREATE DATABASE zabbix OWNER zabbix; # 创建 zabbix 数据库,并将所有者设置为 zabbix 用户
GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix; # 授予 zabbix 用户对 zabbix 数据库的所有权限
\q # 退出 PostgreSQL 命令行界面
exit # 退出 postgres 用户
修改 PostgreSQL 配置文件 /var/lib/pgsql/data/pg_hba.conf,允许 Zabbix 服务器连接到 PostgreSQL 数据库。
host all zabbix 192.168.1.0/24 md5 # 允许 192.168.1.0/24 网段的 Zabbix 服务器使用 md5 认证连接
重启 PostgreSQL 服务以应用更改。
systemctl restart postgresql
安装 Zabbix 7.0 LTS 服务器
首先,我们需要添加 Zabbix 官方 Yum 仓库。
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/8/x86_64/zabbix-release-7.0-1.el8.noarch.rpm
dnf clean all # 清理 Yum 缓存
然后,安装 Zabbix 服务器、Web 前端和 PostgreSQL 支持。
dnf install -y zabbix-server-pgsql zabbix-web-pgsql zabbix-apache-conf zabbix-sql-scripts # 安装 Zabbix 服务器、Web 前端和 PostgreSQL 支持
导入 Zabbix 数据库模式。
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix # 导入 Zabbix 数据库模式
配置 Zabbix 服务器。
修改 Zabbix 服务器配置文件 /etc/zabbix/zabbix_server.conf。
DBHost=localhost # 数据库主机
DBName=zabbix # 数据库名称
DBUser=zabbix # 数据库用户
DBPassword=your_password # 数据库密码,替换为你在 PostgreSQL 中设置的密码
配置 PHP 时区。
修改 /etc/php.ini 文件,设置 date.timezone 参数。
date.timezone = Asia/Shanghai # 设置时区为亚洲/上海
启动 Zabbix 服务器和 Apache Web 服务器,并设置开机自启。
systemctl start zabbix-server
systemctl enable zabbix-server
systemctl start httpd
systemctl enable httpd
现在,你可以通过浏览器访问 Zabbix Web 前端,默认地址为 http://your_server_ip/zabbix。按照提示完成 Web 界面的初始化配置。
安装 Zabbix Agent
Zabbix Agent 需要安装在被监控的服务器上。我们这里分别介绍 Linux 和 Windows 系统的 Agent 安装。
Linux Agent 安装
dnf install -y zabbix-agent # 安装 Zabbix Agent
修改 Zabbix Agent 配置文件 /etc/zabbix/zabbix_agentd.conf。
Server=your_zabbix_server_ip # Zabbix 服务器 IP 地址
ServerActive=your_zabbix_server_ip # Zabbix 服务器 IP 地址(用于主动模式)
Hostname=your_hostname # 主机名
启动 Zabbix Agent,并设置开机自启。
systemctl start zabbix-agent
systemctl enable zabbix-agent
Windows Agent 安装
- 从 Zabbix 官网下载 Windows Agent 安装包。
- 解压安装包到指定目录,例如
C:\zabbix_agent。 - 修改配置文件
C:\zabbix_agent\zabbix_agentd.conf,配置Server、ServerActive和Hostname参数,与 Linux Agent 配置类似。 - 使用
zabbix_agentd.exe -i命令安装 Zabbix Agent 服务。 - 使用
zabbix_agentd.exe -s命令启动 Zabbix Agent 服务。
常见问题与注意事项
- 防火墙问题:确保防火墙允许 Zabbix 服务器和 Agent 之间的通信。默认端口是 10050 和 10051。
- SELinux 问题:如果启用了 SELinux,需要配置 SELinux 策略允许 Zabbix 组件之间的通信。
- Web 前端配置:在 Web 前端配置时,需要正确填写数据库连接信息。
- Agent 主动模式:如果使用 Agent 主动模式,需要在 Zabbix 服务器上配置相应的 Agent 主机,并设置 Hostname 为 Agent 配置文件中的 Hostname。
- 字符集问题:确保数据库字符集设置为 UTF-8,以避免乱码问题。
Zabbix 监控实践
配置好 Zabbix 环境后,我们可以开始添加监控项了。Zabbix 提供了丰富的监控模板,可以监控服务器的 CPU 使用率、内存使用率、磁盘空间、网络流量等。此外,我们还可以自定义监控项,监控应用程序的运行状态、数据库的性能指标等。国内一些企业也会使用宝塔面板来简化服务器管理,但在生产环境中,对于 Zabbix 服务器本身,建议采用更稳定的方式,避免引入额外的风险。
总结
本文详细介绍了如何在 CentOS 8 部署 Zabbix 7.0 LTS,并配置 PostgreSQL 数据库以及不同系统的 Agent 安装。通过本文的指导,你可以快速搭建一个稳定且高效的监控平台,保障你的业务稳定运行。
冠军资讯
加班到秃头