普罗米修斯与kubernetes上的多容器豆荚

时间:2017-03-30 14:43:44

标签: docker kubernetes monitoring prometheus

我的kubernetes部署中有一个多容器窗格:

  • 的java
  • redis的
  • nginx的

对于每个容器,还有一个带有Prometheus出口商的容器。

问题是如果注释部分每个pod只支持一个端口,我该如何将这些端口暴露给Prometheus?

annotations:
  prometheus.io/scrape: 'true'
  prometheus.io/port: 'xxxx'

但我需要这样的事情:

annotations:
  prometheus.io/scrape: 'true'
  prometheus.io/port_1: 'xxxx'
  prometheus.io/port_2: 'yyyy'
  prometheus.io/port_3: 'zzzz'

也许还有其他方法可以从我的多容器pod中删除所有指标?提前感谢您的任何帮助。

2 个答案:

答案 0 :(得分:5)

这是普罗米修斯的example工作。把它放在你自己的配置中。

接下来,添加:

annotations:
   prometheus.io/scrape: 'true'

到你的pod元数据。

在为prom提供/ metrics的每个容器上,创建一个名为metrics的适当端口。

那就是它。 Prometheus只会刮掉那些端口,并且没有任何情况,例如当你的redis实例在其6379端口上获得http请求时。

答案 1 :(得分:0)

您建议的注释应该有效。为每个端口注释创建一个scrape_config,仅保留与相应注释端口名称匹配的目标。