繁体   English   中英

如何显示使用Golang客户端库从Kubernetes中运行的所有Pod中捕获的Prometheus中的自定义应用程序指标

[英]How to show custom application metrics in Prometheus captured using the golang client library from all pods running in Kubernetes

我正在尝试使用prometheus客户端库在golang中捕获一些自定义应用程序指标,以显示在Prometheus中。

我有以下工作:

 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 my-app-pod-/ bin / bash

然后在“ localhost:8080 / metrics”上执行wget,我可以看到我的指标

到目前为止一切顺利,这是我碰壁的地方。 我可以让多个Pod运行同一张图片。 我想将所有图像公开给普罗米修斯作为目标。 如何配置我的广告连播,使其以普罗米修斯的形式出现,以便我可以报告自定义指标?

感谢您提供的任何帮助!

kubernetes_sd_config指令可用于发现具有给定标签的所有Pod。 您的Prometheus.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来查看具有标签“ app”且其值由正则表达式表达式捕获的Pod,在下一行给出(在本例中,匹配“ python-app” )。

完成此操作后,Prometheus将自动发现所需的Pod,并开始从您的应用程序中收集指标。

希望能有所帮助。 您可以在此处关注博客文章以获取更多详细信息。

注意:值得一提的是,在编写本文时,kubernetes_sd_config仍处于beta中。 因此,将来的发行版中可能会发生对配置的重大更改。

您能否共享用于刮擦度量标准的prometheus配置。 该配置将控制从哪些来源中获取指标。 您可以参考以下几个链接: https ://groups.google.com/forum/#!searchin/prometheus-users/Application $ 20metrics $ 20monitoring $ 20of $ 20Kubernetes $ 20Pods%7Csort:relevance / prometheus-users / uNPl4nJX9yk / cSKEBqJlBwAJ

您需要两件事:

  • 一个用于Prometheus运营商的ServiceMonitor,它指定将为标准刮取哪些服务
  • 与ServiceMonitor匹配并指向您的广告连播的服务

此处的文档中有一个示例: https : //coreos.com/operators/prometheus/docs/latest/user-guides/running-exporters.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM