我们有一个Prometheus运行在我们的集群中,我们可以使用grafana来观察我们的集群/pod指标,现在我想添加一些自定义指标,有什么方法可以做到吗?如果是这样,我应该如何将代码连接到普罗米修斯,我是说,如果我使用普罗米修斯API编写golang程序,并将其作为docker部署到k8s,那么现在该程序是否知道与普罗米修斯连接?例如,这个程序正在向/metrics端点公开数据,但是我还应该做什么才能使prom能够读取这些数据呢?
发布于 2019-10-24 07:04:56
您可能希望Prometheus自动发现要抓取的目标,如果是这样的话,您应该在Prometheus中配置K8s service discovery来发现集群中的pod、节点和服务(可能您已经这样做了,因为您已经在监控pod指标)。
为了监控你的go应用程序,你可以添加注释到你的pod或者你的服务中,以支持从这个目标中抓取数据,并定义哪里有可用的指标(路径,端口)。但是,这取决于您的抓取配置和重新标记。here就是一个很好的例子
如果您使用的是Prometheus Operator,则需要改为定义一个servicemonitor资源。
https://stackoverflow.com/questions/58529231
复制相似问题