我已经在Google容器引擎中成功安装了 Prometheus ,并且我已经实现了这些目标:
现在我想从这个Kubernetes集群中的每个Docker容器中抓取Nginx统计数据(这似乎是一件明智的事情)。
但是,如何让Prometheus自动从所有Docker容器中运行的所有Nginx实例中提取指标?
到目前为止,根据我的研究,答案涉及 kubernetes_sd_config ,但我找不到足够的文档来说明如何将各个部分放在一起。
谢谢!
编辑:这不是暴露Nginx统计数据。这只是抓取所有Docker容器公开的任何统计信息。
答案 0 :(得分:0)
您是正确的,您需要使用kubernetes_sd_config指令。在继续之前,让我先说一下你应该问的是“自动从Kubernetes挖出所有豆荚”。这是因为pod被认为是Kubernetes中最低的比例单位。无论你想要做什么都很清楚。
因此kubernetes_sd_config可用于发现具有给定标记的所有pod,如下所示:
- job_name: 'some-app'
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_label_app]
regex: python-app
action: keep
源标签[__meta_kubernetes_pod_label_app]基本上使用Kubernetes api来查看标签为'app'并且其值由正则表达式捕获的应用程序窗格,在下面的行中给出(在这种情况下,匹配'蟒-应用“)。
希望有所帮助。您可以关注博文here以获取更多详细信息。另外,有关kubernetes_sd_config的更多信息,请查看文档here。
注意: 值得一提的是,kubernetes_sd_config仍处于测试阶段。因此,在将来的版本中可能会发生对配置的更改。