具有多个服务器的普罗米修斯

Prometheus with several servers

我开始研究 Prometheus 项目并对其进行原型设计。到目前为止,我已经在我的应用程序中实现了一些计数器(运行 在 Weblogic 上),公开了指标 servlet(专用 war 文件),在专用机器上启动了 Prometheus 服务器 + Grafana 使用 Docker 图片。一切正常,服务器报废计数器,Grafana 将它们显示在图表中。

但是由于我的运行时环境,我遇到了一个问题。基本上我通过 https://<myserver>/<myproduct> 定位我的应用程序,并通过 https://<myserver>/prometheus/metrics/ 定位指标,但在幕后我可以访问两个不同的 Weblogic 服务器,它们不会暴露在它们部署的平台之外(所以我托管 Prometheus 服务器的机器无法直接访问 Weblogic 实例)。因此,我会根据选择被负载均衡器命中的服务器获得不同的指标。

有没有办法解决这种设置?一种告诉 Prometheus 服务器以某种方式聚合结果的方法?

感谢您的帮助!

Prometheus 需要直接与每个实例对话,因此通过任何形式的负载均衡器都行不通。你应该看看是否有直接访问的方法。

很可能您应该将它们中的每一个代理到不同端口上的单个实例,然后只需设置具有适当端口的目标列表

@Xendar 我已经配置如下几个主机访问,

static_configs:
- targets: ['192.168.x.x:9100']
- targets: ['192.168.x.y:9100']
- targets: ['192.168.x.z:8080']