【问题标题】:Traefik query alive/dead backendsTraefik 查询活/死后端
【发布时间】:2019-03-05 09:00:27
【问题描述】:

我们在 docker swarm 上安装了一个 treafik,通过 traefik 平衡了几个服务。每个服务至少有两个后端,平衡了 wrr 和一个运行状况检查。

有没有办法(api、rest 端点、日志文件等等)找出哪些前端有死后端?死亡是指 treafik 在哪些后端通过运行状况检查检测到它们不符合平衡条件?

这方面的最佳做法是什么?

【问题讨论】:

    标签: docker-swarm traefik


    【解决方案1】:

    我看到了两种获取该信息的方法:

    Traefik 日志

    查看Traefik log,它提供了健康检查的跟踪信息:

    time="2019-03-05T22:19:35Z" level=debug msg="Refreshing health check for backend: backend-web-so-55004614",
    time="2019-03-05T22:19:35Z" level=warning msg="Health check still failing. Backend: \"backend-web-so-55004614\" URL: \"http://192.168.80.2:80\" Reason: received error status code: 404",
    time="2019-03-05T22:19:36Z" level=debug msg="Refreshing health check for backend: backend-web-so-55004614",
    time="2019-03-05T22:19:36Z" level=warning msg="Health check still failing. Backend: \"backend-web-so-55004614\" URL: \"http://192.168.80.2:80\" Reason: received error status code: 404",
    

    Traefik /metrics

    如果不方便解析 Traefik 日志,可以激活 Traefik Prometheus 指标(默认开启):

    docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p "80:80" -p "8080:8080" traefik --api --docker

    然后您可以在http://localhost:8080/metrics 上进行HTTP 查询并查找包含_backend_server_up 的行。这些行中的每一行都告诉你你的后端是正常的。如果缺少后端,则意味着它不健康或已停止:

    traefik_backend_server_up{backend="backend-robots",url="http://172.23.0.3:80"} 1
    traefik_backend_server_up{backend="backend-smtp-ui",url="http://172.25.0.3:8025"} 1
    traefik_backend_server_up{backend="backend-varnish-admin",url="http://172.23.0.8:6085"} 1
    traefik_backend_server_up{backend="backend-varnish-http",url="http://172.23.0.8:6081"} 1
    traefik_backend_server_up{backend="backend-web-apps",url="http://172.21.0.2:80"} 1
    traefik_backend_server_up{backend="backend-web-report",url="http://172.19.0.6:80"} 1
    

    您可以使用脚本查询此 URL,或者您可以安装具有 alerting rules 的 Prometheus

    【讨论】:

    • 好的,谢谢你的提示,至少这是出现问题时的提示。但它不适合自动故障检测或监控(又名 nagios 等):(
    • @Lasrik 我发现了另一种使用 Traefik 指标端点的方法。我已经编辑了我的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    • 2017-11-25
    • 2023-01-04
    • 1970-01-01
    相关资源
    最近更新 更多