我们的集群中运行着一个Prometheus,我们能够使用grafana来查看我们的集群/ pod指标,现在我想添加一些自定义指标,有没有办法做到这一点?如果是这样,我应该如何将代码连接到Prometheus,我的意思是,如果我使用Prometheus API编写golang程序,并将其作为docker部署到k8s,那么程序是否知道可以与Prometheus连接? 例如该程序将数据公开到/ metrics端点,但是我还应该做些什么使Prom能够读取此数据?
答案 0 :(得分:1)
您可能希望Prometheus自动发现要刮除的目标,如果这样,您应该在Prometheus中配置K8s service discovery以便从群集中发现Pod,节点和服务(也许您已经做了这样的事情,因为您已经监视k8s指标)。
要监视go应用程序,您可以例如在吊舱或服务中添加注释,以启用从此目标中进行抓取并定义可用度量(路径,端口)的位置。但是,这取决于您的抓取配置和重新标记。可以找到很好的例子here
如果您使用的是Prometheus Operator,则需要定义服务监视器资源。