gpt4 book ai didi

docker - 如何在多地点场景中配置 Prometheus?

转载 作者:行者123 更新时间:2023-12-01 15:53:16 32 4
gpt4 key购买 nike

我喜欢使用 Prometheus 进行监控和警报。到目前为止,我的所有目标(节点和容器)都与监控服务器位于同一网络上。

但现在我面临一个场景,我们将我们的应用程序堆栈(作为一堆 Docker 容器)部署到他们网络中的多台客户端机器上。几乎所有的客户端网络都在防火墙或 NAT 之后。所以刮刮变得相当困难。

由于我们仍然对我们的堆栈负责,我想要一个中央监控服务器、更改和仪表板。

我想知道如果想用 Prometheus 实现它,什么是最好的架构,但我找不到任何令人信服的方法。到目前为止我的想法:

  • 使用 Pushgateway 在我们这边,将所有数据从客户端网络中推送出去。正如文档所述,它不是那样的:https://prometheus.io/docs/practices/pushing/
  • 使用联合设置 ( https://prometheus.io/docs/prometheus/latest/federation/ ):将 Prometheus 服务器放置在每个客户端网络中的反向代理之后(以启用 SSL 和身份验证),并在那里聚合相关指标。仅打开/转发单个端口以进行联合抓取。
  • 其他更具实验性的设置,例如 SSH 隧道(例如此处 https://miek.nl/2016/february/24/monitoring-with-ssh-and-prometheus/)或 VPN!?

  • 预先感谢您的帮助!

    最佳答案

    没有人发布答案,因此我会尝试对第二个选择发表意见,因为这就是我认为在您的情况下会做的事情。

    第二种设置似乎最灵活,您可以访问数据并且只需要为联合服务器打开一个端口,因此它应该仍然是安全的。

    此类设置的另一个好处是,即使防火墙因某种原因停止工作,您仍然会进行普罗米修斯抓取,您将收到警报,因为您将无法访问服务器,但是当连接再次出现时,您将拥有所有数据。你不会在 grafana 仪表板上有一个洞,因为在事件期间没有数据。

    此设置的问题在于您需要维护与网络数量相等的服务器数量。对此的解决方案是拥有一个打包程序镜像或可能的 ansible playbook 来部署。

    关于docker - 如何在多地点场景中配置 Prometheus?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53489000/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com