河池中国转运服务网

zabbix6.0LTS 配置proxy分布式监控的过程详解

2026-03-30 10:54:01 浏览次数:2
详细信息
Zabbix 6.0 LTS 配置 Proxy 分布式监控详解

一、Zabbix Proxy 概述

Zabbix Proxy 是一个数据收集代理,用于在分布式监控环境中收集监控数据并将其转发给 Zabbix Server。主要应用于:

二、环境准备

1. 系统要求

2. 网络架构示例

Zabbix Server (192.168.1.10)
        ↑
Zabbix Proxy (192.168.2.10)
        ↑
被监控设备 (192.168.2.11-50)

三、安装 Zabbix Proxy

1. 安装方式选择

根据系统选择安装方式:

CentOS/RHEL 8/9:

# 安装仓库
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
dnf clean all

# 安装 proxy(根据数据库选择)
# MySQL
dnf install zabbix-proxy-mysql

# PostgreSQL
dnf install zabbix-proxy-pgsql

# SQLite3
dnf install zabbix-proxy-sqlite3

Ubuntu 22.04:

# 安装仓库
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4%2Bubuntu22.04_all.deb
dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
apt update

# 安装 proxy
# MySQL
apt install zabbix-proxy-mysql

# PostgreSQL
apt install zabbix-proxy-pgsql

# SQLite3
apt install zabbix-proxy-sqlite3

四、数据库配置

1. MySQL 配置示例

# 创建数据库
mysql -uroot -p
CREATE DATABASE zabbix_proxy CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix_proxy'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON zabbix_proxy.* TO 'zabbix_proxy'@'localhost';
FLUSH PRIVILEGES;
EXIT;

# 导入初始 schema
zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix_proxy -p zabbix_proxy

2. PostgreSQL 配置示例

# 创建数据库和用户
sudo -u postgres psql
CREATE USER zabbix_proxy WITH PASSWORD 'your_password';
CREATE DATABASE zabbix_proxy WITH OWNER zabbix_proxy ENCODING 'UTF8';
\q

# 导入初始 schema
zcat /usr/share/doc/zabbix-proxy-pgsql*/schema.sql.gz | sudo -u zabbix_proxy psql zabbix_proxy

五、配置 Zabbix Proxy

1. 主配置文件 /etc/zabbix/zabbix_proxy.conf

# 基础配置
Server=192.168.1.10          # Zabbix Server IP地址
ServerPort=10051             # Zabbix Server端口
Hostname=proxy-branch-office # 代理名称,必须唯一

# 数据库配置(MySQL示例)
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=your_password

# 高级配置
ProxyMode=0                  # 0-主动模式,1-被动模式
ConfigFrequency=3600         # 配置同步间隔(秒)
DataSenderFrequency=1        # 数据发送间隔(秒)
StartPollers=5               # 启动的轮询器数量
StartPollersUnreachable=1    # 不可达设备轮询器
StartTrappers=5              # trapper进程数
StartPingers=1               # ICMP ping进程数
StartDiscoverers=1           # 网络发现进程数
HistoryCacheSize=16M         # 历史数据缓存大小
HistoryIndexCacheSize=4M     # 历史索引缓存大小
Timeout=3                    # 超时时间
TLSCONNECT=unencrypted       # 连接加密方式
TLSACCEPT=unencrypted
TLSPSKIdentity=              # TLS PSK标识
TLSPSKFile=                  # TLS PSK文件

2. 配置说明

主动模式 vs 被动模式:

推荐配置调整:

# 根据监控数量调整
StartPollers=50              # 每100个监控项增加5-10个
StartTrappers=10             # 如果使用 trapper 监控
MaxHousekeeperDelete=5000    # 清理历史数据速度

# 性能优化
CacheSize=32M               # 缓存大小
StartPreprocessors=3        # 预处理进程
StartLLDProcessors=2        # 低级别发现进程
StartHistoryPollers=2       # 历史数据轮询

六、Zabbix Server 配置

1. Web界面配置 Proxy

登录 Zabbix Web管理代理程序 创建代理

2. 主机配置使用 Proxy

配置主机 → 选择主机 代理:选择创建的代理 保存

七、启动和验证

1. 启动服务

# 启动服务
systemctl start zabbix-proxy

# 设置开机自启
systemctl enable zabbix-proxy

# 查看状态
systemctl status zabbix-proxy

# 查看日志
tail -f /var/log/zabbix/zabbix_proxy.log

2. 验证连接

日志中应有类似输出:

12345:20240101:120000.001 proxy "proxy-branch-office" started [active proxy]
12345:20240101:120000.002 sending configuration data to server at "192.168.1.10:10051"

3. Web界面验证

进入 监控代理程序 查看代理状态应为 在线 检查 最后看到 时间是否更新

八、高级配置

1. 配置加密通信(TLS PSK)

生成 PSK:

# 生成 PSK 密钥
openssl rand -hex 32 > /etc/zabbix/zabbix_proxy.psk
chown zabbix:zabbix /etc/zabbix/zabbix_proxy.psk
chmod 600 /etc/zabbix/zabbix_proxy.psk

# 查看 PSK 值
cat /etc/zabbix/zabbix_proxy.psk

Proxy 配置:

TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=proxy_identity
TLSPSKFile=/etc/zabbix/zabbix_proxy.psk

Server Web 配置:

2. 多 Proxy 负载均衡

# 在多个 Proxy 间分配主机
# Proxy 1 配置
Hostname=proxy-1
# Proxy 2 配置
Hostname=proxy-2

# 在 Web 界面将不同主机分配给不同 Proxy

3. 监控 Proxy 自身

# 在 Proxy 服务器上安装 agent2
dnf install zabbix-agent2

# 配置 agent2 指向本地 Proxy
cat > /etc/zabbix/zabbix_agent2.conf << EOF
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=proxy-branch-office
EOF

systemctl start zabbix-agent2

九、故障排除

常见问题及解决

代理状态显示离线

# 检查网络连接
telnet 192.168.1.10 10051

# 检查防火墙
firewall-cmd --list-all

# 查看 Proxy 日志
tail -f /var/log/zabbix/zabbix_proxy.log

# 检查配置是否一致
grep "Hostname" /etc/zabbix/zabbix_proxy.conf

数据不同步

# 检查数据库连接
mysql -uzabbix_proxy -p -e "SELECT 1"

# 增加日志级别
DebugLevel=4
systemctl restart zabbix-proxy

性能问题

# 监控 Proxy 内部统计
zabbix_proxy -R config_cache_reload

# 检查数据库性能
show processlist;

监控指标检查表

指标 正常范围 检查方法
数据发送队列 < 100 Web界面:代理 → 队列
缓存使用率 < 80% 内部检查项:zabbix[proxy,cache,buffer,pfree]
轮询器空闲 > 20% 内部检查项:zabbix[process,poller,avg,busy]
数据库连接 正常 日志无连接错误

十、维护和优化

定期维护任务

# 清理旧数据
mysql -uzabbix_proxy -p zabbix_proxy -e "DELETE FROM history WHERE clock < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY))"

# 优化数据库表
mysqlcheck -uzabbix_proxy -p --optimize zabbix_proxy

# 备份配置
tar -czf /backup/zabbix_proxy_backup_$(date +%Y%m%d).tar.gz /etc/zabbix/

性能调优建议

根据监控数量调整进程数

数据库优化

-- 创建索引优化
CREATE INDEX history_1 ON history (itemid, clock);
CREATE INDEX trends_1 ON trends (itemid, clock);

缓存配置

# 大内存环境建议
CacheSize=128M
HistoryCacheSize=64M
HistoryIndexCacheSize=16M

总结

Zabbix Proxy 配置完成后,应该:

✓ Proxy 服务正常运行 ✓ Web界面显示在线状态 ✓ 主机监控数据正常接收 ✓ 配置定期同步正常 ✓ 性能指标在正常范围

通过以上步骤,可以成功部署 Zabbix Proxy 实现分布式监控。建议在生产环境部署前,先在测试环境验证配置,确保所有功能正常工作。

相关推荐