我目前正在开发一个由普罗米修斯监控的Go (golang)
编写的程序。
现在,该计划应该提供两个端点/metrics
和/service
。
当Prometheus在/metrics
上抓取时,它应该公开它自己的指标(例如请求,请求延迟......),并且当在/service
上抓取时,它应该查询API,从那里获取指标和将它们暴露给普罗米修斯。
对于我创建的第一部分,例如通过
的柜台requestCount := kitprometheus.NewCounterFrom(stdprometheus.CounterOpts{
Namespace: "SERVICE",
Subsystem: "service_metrics",
Name: "request_count",
Help: "Number of requests received.",
}, fieldKeys)
通过以下方式提供服务:
http.Handle("/metrics", promhttp.Handler())
http.ListenAndServe(":8090", nil)
对于/service
部分,我查询API,提取值并通过Gauge.Set(value)
更新不同的量表