2

运行的所有吊舱,我试图让使用普罗米修斯客户端库中的普罗米修斯显示在golang抓获了一些自定义应用程序度量golang客户端库抓获。如何显示在普罗米修斯自定义应用程序使用的指标从Kubernetes

我有以下工作:

apiVersion: v1 
kind: Pod 
metadata: 
    name: my-app-pod 
    labels: 
    zone: prod 
    version: v1 
    annotations: 
    prometheus.io/scrape: 'true' 
    prometheus.io/port: '8080' 

spec: 
    containers: 
    - name: my-container 
     image: name/my-app:latest 
     imagePullPolicy: IfNotPresent 
     ports: 
     - containerPort: 8080 
  • 如果我使用连接到我的荚:

kubectl EXEC -IT我-APP-POD - /斌/庆典

然后做了wget在“localhost:8080 /度”,我可以看到我的指标

到目前为止好,这里是我打墙。我可以有多个豆荚运行这个相同的图像。我想把所有的图像作为目标公开给普罗米修斯。如何配置我的豆荚,以便它们显示在prometheus中,以便我可以报告我的自定义指标?

任何帮助的感谢提供!

+0

不确定操作员,从来没有使用过这个,但我手动部署在Kube上的Prometheus [如此](https://github.com/openshift-demos/resorcerer#launch-prometheus)(如果你想知道,你可以忽略OpenShift的具体事情,这只是方便)。最大的帮助和我的永久参考确实是关于此主题的官方文档(文档)(https://prometheus.io/docs/operating/configuration/# )。 –

回答

0

的kubernetes_sd_config指令可以被用来发现与特定标签的所有吊舱。你的普罗米修斯。YML配置文件应该有一些像这样: - 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看具有“应用”的标签豆荚和其值由正则表达式表达俘获,给定在下面的行(在这种情况下,匹配'python-app')。

完成此操作后,Prometheus会自动发现所需的窗格并开始从应用程序中获取指标。

希望有所帮助。您可以关注博文here了解更多详情。

注:值得一提的是,在写作的时候,kubernetes_sd_config仍处于测试阶段。因此,在未来的版本中可能会发生对配置的更改。