信阳市文章资讯

zabbix集群搭建分布式监控的操作步骤

2026-03-28 07:16:02 浏览次数:1
详细信息

Zabbix 分布式监控架构搭建操作步骤

一、架构规划

1.1 组件角色

1.2 推荐架构

被监控主机 → Zabbix Proxy → Zabbix Server
              (多个区域)      (中心)

二、环境准备

2.1 服务器规划

# 示例服务器分配
Zabbix Server: 192.168.1.10
Zabbix Proxy 1: 192.168.2.10 (IDC-1)
Zabbix Proxy 2: 192.168.3.10 (IDC-2)
数据库服务器: 192.168.1.11 (可选分离)

2.2 系统要求

三、Zabbix Server 安装

3.1 安装数据库

# CentOS 7 - MySQL
yum install mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb

# 创建数据库
mysql -uroot -p
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
exit

3.2 安装 Zabbix Server

# 添加 Zabbix 仓库
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
yum clean all

# 安装 Server 组件
yum install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy

# 导入初始数据
zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

# 配置数据库连接
vim /etc/zabbix/zabbix_server.conf
# 修改以下参数:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=your_password

3.3 配置 Web 界面

# 配置 PHP(示例)
vim /etc/php.ini
# 调整参数:
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M

# 启动服务
systemctl restart zabbix-server zabbix-agent nginx php-fpm
systemctl enable zabbix-server zabbix-agent nginx php-fpm

四、Zabbix Proxy 安装

4.1 Proxy 节点安装

# 每个 Proxy 节点执行
yum install zabbix-proxy-mysql zabbix-sql-scripts

# 创建 Proxy 数据库
mysql -uroot -p
CREATE DATABASE zabbix_proxy CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'zabbix_proxy'@'localhost' IDENTIFIED BY 'proxy_password';
GRANT ALL PRIVILEGES ON zabbix_proxy.* TO 'zabbix_proxy'@'localhost';
FLUSH PRIVILEGES;
exit

# 导入 Proxy 数据结构
zcat /usr/share/doc/zabbix-sql-scripts/mysql/proxy.sql.gz | mysql -uzabbix_proxy -p zabbix_proxy

4.2 配置 Proxy

vim /etc/zabbix/zabbix_proxy.conf
# 关键配置:
Server=192.168.1.10           # Zabbix Server IP
Hostname=IDC-1-Proxy         # Proxy 唯一名称,与 Web 配置一致
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=proxy_password
# 缓存配置
ProxyLocalBuffer=12          # 小时
ProxyOfflineBuffer=72        # 小时
HeartbeatFrequency=60        # 秒

4.3 启动 Proxy

systemctl start zabbix-proxy
systemctl enable zabbix-proxy

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

五、Web 界面配置

5.1 访问 Web 界面

http://server_ip/zabbix
# 初始登录:Admin / zabbix

5.2 添加 Proxy

管理Agent 代理程序 点击 创建代理 配置:

六、主机配置

6.1 Agent 安装(被监控主机)

# 安装 Agent
yum install zabbix-agent2  # 或 zabbix-agent

# 配置 Agent
vim /etc/zabbix/zabbix_agent2.conf
# 关键配置:
Server=192.168.2.10         # 指向所属 Proxy
ServerActive=192.168.2.10   # 主动模式指向 Proxy
Hostname=web-server-01      # 主机唯一名称

# 启动 Agent
systemctl start zabbix-agent2
systemctl enable zabbix-agent2

6.2 Web 添加主机

配置主机创建主机 设置: 添加模板(如 Linux by Zabbix agent) 添加监控项、触发器

七、高可用配置(可选)

7.1 Proxy 高可用

# 使用 Keepalived 实现 VIP 浮动
yum install keepalived

# 配置 /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
    state MASTER           # 另一台为 BACKUP
    interface eth0
    virtual_router_id 51
    priority 100          # BACKUP 设为 90
    virtual_ipaddress {
        192.168.2.100
    }
}

7.2 数据库主从

# 主库配置(my.cnf)
[mysqld]
server-id=1
log-bin=mysql-bin
binlog-do-db=zabbix

# 从库配置
[mysqld]
server-id=2
relay-log=mysql-relay-bin
read_only=1

八、性能调优

8.1 Server 调优

vim /etc/zabbix/zabbix_server.conf
# 调整参数:
StartPollers=100
StartPollersUnreachable=50
StartTrappers=50
StartPingers=50
CacheSize=256M            # 根据内存调整
HistoryCacheSize=128M
TrendCacheSize=32M
ValueCacheSize=256M

8.2 Proxy 调优

vim /etc/zabbix/zabbix_proxy.conf
StartPollers=50
ProxyLocalBuffer=24      # 本地缓冲小时数
ProxyOfflineBuffer=48    # 离线缓冲小时数

九、监控验证

9.1 状态检查

# 检查 Server 状态
zabbix_server -R config_cache_reload

# 检查 Proxy 连接
tail -100 /var/log/zabbix/zabbix_proxy.log | grep "sending"

# 查看监控项数据
mysql -uzabbix -p -e "SELECT COUNT(*) FROM history;"

9.2 故障排查

# 常见问题排查
1. 检查网络连通性
2. 检查防火墙规则
3. 查看日志文件
4. 验证数据库连接
5. 检查时间同步

十、维护脚本示例

10.1 批量添加主机

#!/bin/bash
# bulk_add_hosts.sh

PROXY="IDC-1-Proxy"
TEMPLATE="Linux by Zabbix agent"

for IP in $(cat host_list.txt); do
    # 使用 API 添加主机
    curl -s -X POST -H "Content-Type: application/json" \
    -d '{
        "jsonrpc": "2.0",
        "method": "host.create",
        "params": {
            "host": "'${IP}'",
            "interfaces": [{
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "'${IP}'",
                "dns": "",
                "port": "10050"
            }],
            "groups": [{"groupid": "2"}],
            "templates": [{"templateid": "10001"}]
        },
        "auth": "'${AUTH_TOKEN}'",
        "id": 1
    }' http://zabbix-server/api_jsonrpc.php
done

注意事项

网络要求

配置一致性

监控策略

安全建议

此架构可支持数千台服务器的监控,根据实际需求调整 Proxy 数量和配置参数。

相关推荐