监控是保障系统稳定性的重要环节。本文将详细介绍在 CentOS 8 系统上使用 PostgreSQL 数据库部署 Zabbix 7.0 LTS 版本的完整流程,并涵盖不同系统 Agent 的安装,助你快速搭建一个高效、稳定的监控平台。在生产环境中,Zabbix 监控的性能直接关系到我们对线上问题的响应速度,因此一个可靠的部署方案至关重要。本文将重点讨论如何针对高并发场景优化 Zabbix 的性能,比如调整 PostgreSQL 的 shared_buffers 和 effective_cache_size 等参数。
1. 环境准备
服务器: 一台安装了 CentOS 8 的服务器。
软件源: 确保服务器可以访问互联网,并配置好 CentOS 8 的软件源。
PostgreSQL: 已经安装并运行 PostgreSQL 数据库。如果未安装,请参考以下步骤:

# 安装 PostgreSQL sudo yum install -y postgresql-server postgresql-contrib # 初始化数据库 sudo postgresql-setup initdb # 启动 PostgreSQL 服务 sudo systemctl start postgresql sudo systemctl enable postgresqlSELinux 和防火墙: 建议先禁用 SELinux (生产环境需评估风险) 和关闭防火墙,或配置允许 Zabbix 使用的端口 (10050, 10051等)。
2. 安装 Zabbix 7.0 LTS Server
首先,需要添加 Zabbix 官方的软件源。
# 下载 Zabbix 软件源
sudo rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/8/x86_64/zabbix-release-7.0-1.el8.noarch.rpm
# 清理 yum 缓存
sudo yum clean all
# 安装 Zabbix Server、Zabbix Agent 和 PostgreSQL 支持
sudo yum install -y zabbix-server-pgsql zabbix-agent
3. 配置 PostgreSQL 数据库
创建 Zabbix 数据库:

sudo -u postgres psql CREATE DATABASE zabbix OWNER zabbix ENCODING 'UTF8'; \q导入初始数据:
zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix配置 Zabbix Server 连接数据库:
编辑
/etc/zabbix/zabbix_server.conf文件,修改以下参数:
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=your_zabbix_db_password # 替换为你的 Zabbix 数据库密码
4. 启动 Zabbix Server
sudo systemctl start zabbix-server
sudo systemctl enable zabbix-server
5. 配置 Zabbix Agent
修改 /etc/zabbix/zabbix_agentd.conf 文件:
Server=127.0.0.1 # Zabbix Server 的 IP 地址
ServerActive=127.0.0.1 # Zabbix Server 的 IP 地址
Hostname=Zabbix server # Agent 的主机名,在 Zabbix Server 上配置时保持一致
启动 Zabbix Agent:
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
6. Web 界面配置
- 访问 Web 界面: 在浏览器中输入
http://your_server_ip/zabbix,进入 Zabbix Web 界面。 - 初始配置: 按照界面提示,进行数据库连接、管理员账号等配置。默认管理员账号是
Admin,密码是zabbix。 - 添加监控主机: 在
Configuration->Hosts中添加需要监控的主机。确保主机名与 Agent 配置中的Hostname一致。
7. 不同系统 Agent 安装
7.1 Linux Agent 安装
和 Zabbix Server 安装类似,先添加 Zabbix 软件源,然后安装 zabbix-agent 包。具体步骤根据 Linux 发行版有所不同。
Debian/Ubuntu:
wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-1+debian11_all.deb sudo dpkg -i zabbix-release_7.0-1+debian11_all.deb sudo apt update sudo apt install zabbix-agent配置 Agent: 修改
/etc/zabbix/zabbix_agentd.conf文件,配置Server、ServerActive和Hostname参数。启动 Agent:
sudo systemctl start zabbix-agent
7.2 Windows Agent 安装
- 下载 Agent: 从 Zabbix 官网下载 Windows Agent 的安装包。
- 安装 Agent: 运行安装包,按照提示进行安装。
- 配置 Agent: 修改
zabbix_agentd.conf文件,配置Server、ServerActive和Hostname参数。 配置文件通常在C:\Program Files\Zabbix Agent\目录下。 - 启动 Agent: 在 Windows 服务管理器中启动 Zabbix Agent 服务。
8. 常见问题及避坑指南
- 中文乱码: 在 Web 界面配置中,选择合适的字体,并确保数据库字符集设置为 UTF8。
- Agent 连接问题: 检查防火墙是否阻止了 Zabbix Server 和 Agent 之间的通信,确认 Agent 配置中的 Server IP 地址是否正确。
- 监控数据不更新: 检查 Agent 是否正常运行,以及 Server 和 Agent 之间的时间是否同步。 NTP 服务对于保证时间同步至关重要,建议配置 NTP 服务。
- 高负载优化: 在大型环境中,合理调整 PostgreSQL 的配置参数,如
shared_buffers和effective_cache_size,可以显著提升 Zabbix 的性能。 此外,定期清理历史数据,避免数据库过于庞大。 - zabbix_get 命令超时: 排查网络连通性,如果通过 Nginx 反向代理访问 Zabbix,检查 Nginx 的
proxy_read_timeout和proxy_connect_timeout设置。 还可以考虑增加 PHP 的max_execution_time和max_input_time。
9. 安全性建议
- 数据库密码: 使用强密码保护 Zabbix 数据库,并定期更换密码。
- Web 界面: 修改默认的管理员账号密码,并开启双因素认证。
- 访问控制: 限制 Zabbix Web 界面的访问权限,只允许授权用户访问。
通过以上步骤,你就可以在 CentOS 8 上成功部署 Zabbix 7.0 LTS 版本,并开始监控你的系统和应用程序。 别忘了持续关注 Zabbix 的官方文档,及时了解最新的安全更新和最佳实践。 在生产环境中,可以考虑使用宝塔面板等工具进行辅助管理,简化 Nginx 的配置和维护。
冠军资讯
CoderPunk