zabbix启动日志报错:cannot parse proxy data from active proxy at "172.20.32.29": proxy "Zabbix-proxy"

本文记录了解决Zabbix监控系统中proxy和client无法通信的问题过程。通过正确的配置顺序和重启策略,即先启动proxy和client,再在server上添加相应的配置,最终实现了三者之间的正常通信。

10258:20190701:092427.050 cannot parse proxy data from active proxy at "172.20.32.29": proxy "Zabbix-proxy" not found

10250:20190701:100422.653 cannot send list of active checks to "172.20.32.15": host [zabbix-client] not found

9416:20190701:100622.706 no active checks on server [172.20.32.29:10051]: host [zabbix-client] not found

 

上传图片很麻烦,我就不上了,大概就是这些报错,而且没有配置错误,安装也没有问题。

这是个坑来的,我反复检查,然后看到一篇博客写着,说等待一个多小时,自动恢复。

有些博客说,按照顺序重启即可。我重启就解决了。我想,我应该去先启动了proxy和client,然后再在server添加的proxy和主机,导致识别不了?所以在server添加了代理和主机的配置,按照顺序重启,三者就能通信了

顺序:server-->proxy-->client

 

 

 

version: "3.8" networks: zabbix-net: driver: bridge ipam: config: - subnet: 172.20.0.0/24 services: mysql-server: image: mysql:8.0.36 container_name: mysql-server restart: unless-stopped environment: MYSQL_DATABASE: zabbix MYSQL_USER: zabbix MYSQL_PASSWORD: Zmsl@123 MYSQL_ROOT_PASSWORD: Zmsl@123 TZ: Asia/Shanghai command: > --default-authentication-plugin=mysql_native_password --character-set-server=utf8 --collation-server=utf8_bin volumes: - mysql_data:/var/lib/mysql - mysql_logs:/var/log/mysql - mysql_conf:/etc/mysql/conf.d ports: - "3306:3306" networks: zabbix-net: ipv4_address: 172.20.0.10 zabbix-java-gateway: image: zabbix/zabbix-java-gateway:alpine-6.2-latest container_name: zabbix-java-gateway restart: unless-stopped environment: TZ: Asia/Shanghai networks: zabbix-net: ipv4_address: 172.20.0.20 zabbix-server-mysql: image: zabbix/zabbix-server-mysql:6.2-alpine-latest container_name: zabbix-server-mysql restart: unless-stopped depends_on: - mysql-server - zabbix-java-gateway environment: DB_SERVER_HOST: mysql-server MYSQL_DATABASE: zabbix MYSQL_USER: zabbix MYSQL_PASSWORD: Zmsl@123 MYSQL_ROOT_PASSWORD: Zmsl@123 ZBX_JAVAGATEWAY: zabbix-java-gateway ZBX_JAVAGATEWAY_TIMEOUT: 30 ZBX_START_POLLERS: 5 ZBX_START_POLLERS_UNREACHABLE: 1 TZ: Asia/Shanghai volumes: - /data/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro - zabbix_server:/etc/zabbix - /data/zabbix/server:/var/lib/zabbix - /data/zabbix/log:/var/log/zabbix ports: - "10051:10051" networks: zabbix-net: ipv4_address: 172.20.0.30 zabbix-web-nginx-mysql: image: zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest container_name: zabbix-web-nginx-mysql restart: unless-stopped depends_on: - mysql-server - zabbix-server-mysql environment: PHP_TZ: Asia/Shanghai ZBX_SERVER_HOST: zabbix-server-mysql DB_SERVER_HOST: mysql-server MYSQL_DATABASE: zabbix MYSQL_USER: zabbix MYSQL_PASSWORD: Zmsl@123 MYSQL_ROOT_PASSWORD: Zmsl@123 ports: - "7099:8080" networks: zabbix-net: ipv4_address: 172.20.0.40 zabbix-agent: image: zabbix/zabbix-agent:alpine-6.2-latest container_name: zabbix-agent restart: unless-stopped environment: ZBX_HOSTNAME: zabbix-server-docker ZBX_SERVER_HOST: zabbix-server-mysql ZBX_SERVER_PORT: 10051 ZBX_PASSIVE_ALLOW: "true" ZBX_ACTIVE_ALLOW: "true" volumes: - zabbix_agent:/etc/zabbix ports: - "10050:10050" networks: zabbix-net: ipv4_address: 172.20.0.50 cap_add: - NET_RAW - NET_ADMIN volumes: mysql_data: mysql_logs: mysql_conf: zabbix_server: zabbix_agent:
最新发布
08-20
<think>我们正在使用Docker Compose部署Zabbix监控系统,包括以下组件: - Zabbix Server - Zabbix Web界面(使用Nginx和MySQL) - Zabbix Agent(通常部署在被监控主机上,但这里我们也可以部署一个用于监控Zabbix Server自身) - MySQL数据库 根据引用[1]和[3],我们可以构建一个docker-compose.yml文件。注意,引用[1]中提供了部分配置,但我们需要完善。 配置要点: 1. 数据库服务:MySQL,需要创建数据库、用户和密码。 2. Zabbix Server服务:依赖数据库,并连接Zabbix Agent。 3. Zabbix Web服务:使用Nginx和MySQL,需要连接到数据库和Zabbix Server。 4. Zabbix Agent服务:需要连接到Zabbix Server。 另外,时区设置很重要,引用[1]和[2]都提到了时区设置(Asia/Shanghai)。 我们采用官方镜像: - mysql:5.7(或者8.0,但要注意Zabbix版本兼容性) - zabbix/zabbix-server-mysql - zabbix/zabbix-web-nginx-mysql - zabbix/zabbix-agent 下面是一个完整的docker-compose.yml配置示例: ```yaml version: '3' services: mysql-server: image: mysql:5.7 container_name: mysql-server environment: MYSQL_DATABASE: zabbix MYSQL_USER: zabbix MYSQL_PASSWORD: zabbix MYSQL_ROOT_PASSWORD: root_password volumes: - mysql-data:/var/lib/mysql ports: - "3306:3306" networks: - zabbix-net restart: unless-stopped zabbix-server: image: zabbix/zabbix-server-mysql:latest container_name: zabbix-server environment: DB_SERVER_HOST: mysql-server MYSQL_DATABASE: zabbix MYSQL_USER: zabbix MYSQL_PASSWORD: zabbix ports: - "10051:10051" networks: - zabbix-net depends_on: - mysql-server restart: unless-stopped zabbix-web: image: zabbix/zabbix-web-nginx-mysql:latest container_name: zabbix-web environment: DB_SERVER_HOST: mysql-server MYSQL_DATABASE: zabbix MYSQL_USER: zabbix MYSQL_PASSWORD: zabbix PHP_TZ: Asia/Shanghai ZBX_SERVER_HOST: zabbix-server ports: - "80:8080" networks: - zabbix-net depends_on: - mysql-server - zabbix-server restart: unless-stopped zabbix-agent: image: zabbix/zabbix-agent:latest container_name: zabbix-agent environment: ZBX_SERVER_HOST: zabbix-server ports: - "10050:10050" networks: - zabbix-net depends_on: - zabbix-server restart: unless-stopped networks: zabbix-net: driver: bridge volumes: mysql-data: ``` 说明: 1. 使用了一个自定义网络`zabbix-net`,所有服务都连接到此网络,以便通过服务名相互访问。 2. 数据库使用卷`mysql-data`持久化数据。 3. Zabbix Web服务的端口映射为80:8080,这样可以通过宿主机的80端口访问。 4. 时区设置:`PHP_TZ: Asia/Shanghai`,确保Web界面时间正确。 5. Zabbix Agent配置了`ZBX_SERVER_HOST`指向zabbix-server,这样Agent就会连接这个Server。 注意:Zabbix Server和Agent的端口10051和10050需要暴露,以便外部Agent连接(如果还需要监控其他主机)。如果只是监控本容器内的服务,也可以不暴露端口,因为它们在同一个网络内。 使用时,将上述内容保存为`docker-compose.yml`,然后运行`docker-compose up -d`。 另外,根据引用[3],可能需要调整一些配置,但上述配置是一个基础可用的版本。 §§相关问题§§ 1. 如何验证Zabbix各组件是否正常运行? 2. 如何添加其他主机到Zabbix监控? 3. 如何升级使用Docker Compose部署的Zabbix?</think>以下是使用 Docker Compose 部署 Zabbix 监控系统的完整配置方案,包含 Zabbix Server、Web、Agent 和 MySQL 组件: ```yaml version: '3' services: mysql-server: image: mysql:8.0 container_name: mysql-server environment: MYSQL_DATABASE: zabbix MYSQL_USER: zabbix MYSQL_PASSWORD: zabbix_password MYSQL_ROOT_PASSWORD: root_password volumes: - mysql-data:/var/lib/mysql command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci networks: - zabbix-net restart: unless-stopped zabbix-server: image: zabbix/zabbix-server-mysql:6.0-latest container_name: zabbix-server environment: DB_SERVER_HOST: mysql-server MYSQL_DATABASE: zabbix MYSQL_USER: zabbix MYSQL_PASSWORD: zabbix_password ZBX_CACHESIZE: 512M volumes: - zabbix-export:/var/lib/zabbix/export - zabbix-snmptraps:/var/lib/zabbix/snmptraps ports: - "10051:10051" networks: - zabbix-net depends_on: - mysql-server restart: unless-stopped zabbix-web: image: zabbix/zabbix-web-nginx-mysql:6.0-latest container_name: zabbix-web environment: DB_SERVER_HOST: mysql-server MYSQL_DATABASE: zabbix MYSQL_USER: zabbix MYSQL_PASSWORD: zabbix_password PHP_TZ: Asia/Shanghai ZBX_SERVER_HOST: zabbix-server ZBX_SERVER_PORT: 10051 ports: - "80:8080" volumes: - zabbix-web:/usr/share/zabbix networks: - zabbix-net depends_on: - mysql-server - zabbix-server restart: unless-stopped zabbix-agent: image: zabbix/zabbix-agent:6.0-latest container_name: zabbix-agent environment: ZBX_SERVER_HOST: zabbix-server ZBX_HOSTNAME: zabbix-server ZBX_METADATA: linux ports: - "10050:10050" volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro networks: - zabbix-net depends_on: - zabbix-server restart: unless-stopped networks: zabbix-net: driver: bridge volumes: mysql-data: zabbix-export: zabbix-snmptraps: zabbix-web: ``` ### 配置说明: 1. **MySQL服务**: - 使用 MySQL 8.0 官方镜像 - 自动创建 `zabbix` 数据库和用户 - 数据持久化到 `mysql-data` 卷 - 设置 UTF8 字符集支持中文[^1] 2. **Zabbix Server**: - 连接 MySQL 数据库服务 - 优化缓存大小(512MB) - 暴露 10051 端口供 Agent 连接 - 持久化存储监控数据导出和 SNMP 陷阱 3. **Zabbix Web界面**: - 使用 Nginx + PHP 组合 - 设置时区为 `Asia/Shanghai`[^1][^2] - 映射宿主机 80 端口到容器 8080 端口 - 自动连接 Zabbix Server 和 MySQL 4. **Zabbix Agent**: - 监控 Zabbix Server 自身 - 同步宿主机时区配置 - 暴露 10050 端口用于外部监控 ### 部署步骤: 1. 创建 `docker-compose.yml` 文件并填入上述配置 2. 启动服务: ```bash docker-compose up -d ``` 3. 等待初始化完成(约2-5分钟) 4. 访问 `http://<宿主机IP>` 进入 Zabbix Web 5. 使用默认账号登录: - 用户名: `Admin` - 密码: `zabbix` ### 验证部署: ```bash docker-compose ps ``` 应显示所有4个容器状态为 `Up` > **重要安全提示**:生产环境中请修改默认密码(`zabbix_password` 和 `root_password`),并启用 SSL 加密访问[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值