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

How to configure Prometheus to get metrics of a service with 2 replicas through exposed route?

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

抓取

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

你不知道。这里的标准方法是绕过负载均衡器直接抓取所有容器/目标。既然你用过openshift标签,我推荐你看一下Prometheus Kubernetes SD。