You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署Zabbix创建定时报表报Web Service连接超时如何解决?

Zabbix Web Service 报表超时问题排查解决思路

1 核心配置校验

  • 检查docker-compose.yml中zabbix-web-service容器的ZBX_ALLOWEDIP参数,必须配置为zabbix-server容器的网段/固定IP,若仅写127.0.0.1会导致跨容器通信失效,刚启动时临时缓存可能生效,路由刷新后就会出现访问失败
  • 确认zabbix-server配置里的ZBX_WEBSERVICEURL参数,值必须是zabbix-web-service容器的服务名+端口(默认10053),格式为http://zabbix-web-service:10053/report,不要填写127.0.0.1或者宿主机IP避免网络抖动导致连接失败
  • 检查容器资源限制,若zabbix-web-service分配的内存/CPU阈值过低,宿主机压力大时服务进程会被OOM killer静默杀掉但容器仍处于运行状态,就会出现刚重启可用、运行一段时间后无响应的问题

2 运行时状态排查

  • 服务报错时先不要直接重启容器,进入zabbix-web-service容器执行ps aux查看zabbix_web_service进程是否存活,执行netstat -tunlp确认10053端口是否处于监听状态
  • 从zabbix-server容器内执行curl http://<zabbix-web-service容器IP>:10053/,返回404说明服务正常,超时则代表web service进程假死或容器间网络不通
  • 检查zabbix-web-service容器的句柄限制,执行ulimit -n,若默认值为1024,处理几次请求后句柄占满就会拒绝新连接,需要在docker-compose配置中为容器增加如下参数:
ulimits:
  nofile:
    soft: 65535
    hard: 65535

3 兼容性与环境问题排查

  • 当前使用的ubuntu-latest标签属于滚动更新镜像,可能存在依赖版本未同步的bug,建议固定到具体版本号比如zabbix/zabbix-web-service:6.4.10,排除跨小版本的兼容性问题
  • 检查宿主机的防火墙/ufw/iptables规则,确认是否存在动态封禁策略,多次请求后zabbix-server的容器IP被封禁,重启容器后IP变更就恢复可用,运行一段时间后再次被封禁
  • 排查Docker网络是否存在IP冲突,导致流量被转发到错误的服务上

4 临时兜底方案

若暂时未定位到根因,可以为zabbix-web-service容器配置健康检查和自动重启策略,服务假死时自动恢复,不影响定时报表运行:

healthcheck:
  test: ["CMD", "curl", "-f", "http://localhost:10053/"]
  interval: 30s
  timeout: 10s
  retries: 3
restart: always

内容的提问来源于stack exchange,提问作者Mi1anovic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 05:18:03