如何配置Prometheus通过公开路由获取具有2个副本的服务的指标?

问题描述

我们有一项服务,该服务在OpenShift中部署了2个副本。该服务使用DropWizard指标,并通过/ actuator / prometheus端点上的spring-actuator公开它们。执行器的端口8082有一条裸露的路由。Prometheus配置为从{exposed-service-route} / actuator / prometheus'抓取。

我要解决的问题是:调用暴露的路由时,由于有一个负载平衡器,它从两个Pod中返回度量,这些度量具有相同的名称,因为服务是相同的,然后在Grafana中显示它们时,值不正确。例如。当接收到来自第一个容器的响应时,“ processed.messages.count”为40,然后当接收来自第二个容器的响应时为“ 150。如何区分这些响应并正确显示?假设目前无法将标签添加到指标。

解决方法

你不知道。这里的标准方法是在绕过负载均衡器的同时直接刮取所有容器/目标。由于您使用了openshift标签,因此建议您看一下Prometheus Kubernetes SD。