我的kubernetes部署中有一个多容器容器:
对于每个这些容器,都有一个带有Prometheus导出商的容器。
问题是,如果注释部分每个 pods 仅支持一个端口,如何将这些端口暴露给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'
也许还有其他方法可以从多容器容器中抓取所有指标?在此先感谢您提供的任何帮助。
最佳答案
这是普罗米修斯的example工作。将其放在您自己的配置中。
接下来,添加:
annotations:
prometheus.io/scrape: 'true'
到您的pod元数据。
然后在每个提供/metrics的容器上,创建一个名为
metrics
的适当端口。就是这样。 Prometheus仅会抓取那些端口,并且不会出现任何情况,例如您的redis实例将在其6379端口上获得http请求时。
关于docker - 在Kubernetes上具有多容器 pods 的Prometheus,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43121132/