Prometheus 多实例微服务

Prometheus multiple instances of microservices

我想知道如果有多个服务实例可用,Prometheus 的行为如何。 例如,有一项服务部署在具有三个实例的 kubernetes 集群中 运行.

每个实例都会增加其计数指标。

当 prometheus 抓取这些实例并接收到这三个值时会发生什么?

prometheus 是否对它们求和?
要抓取的三个值中的最后一个值是否会覆盖前两个值?

Prometheus 将从三个目标中摄取三个值,然后它们(除非您做了一些非常奇怪的事情)将独立存在。

除了您在 PromQL 中请求的数学之外,不会对它们执行任何数学运算。

如果需要,您可以将多个实例的值相加。 如果设置规则,则可以按应用程序求和。 一个警报的例子是:

groups:
  - name: default
    rules:
      - alert: defaultAlert
        expr:  sum by (application) (expression_that_you_want)

这里的相关内容是:sum by (application)

也可以按其他标签求和