我有一个以json格式发送给prometheus的指标列表。如何在client_golang中使用Guage指标类型将这些指标一次性发送给prometheus?
现在我有以下代码
var (
dockerVer = prometheus.NewGauge(prometheus.GaugeOpts{
Name: "docker_version_latency",
Help: "Latency of docker version command.",
}))
func init() {
// Metrics have to be registered to be exposed:
prometheus.MustRegister(dockerVer)
}
func main() {
for {
get_json_response(1234,"version")
dockerVer.Set(jsonData[0].Latency)
// The Handler function provides a default handler to expose metrics
// via an HTTP server. "/metrics" is the usual endpoint for that.
http.Handle("/metrics", promhttp.Handler())
log.Fatal(http.ListenAndServe(":8081", nil))
}
}
我有更多的指标,我必须从json中读取这些指标并将其动态发送给它。
答案 0 :(得分:1)
您希望将自定义收集器编写为导出器的一部分,请参阅https://github.com/prometheus/consul_exporter/blob/master/consul_exporter.go#L156作为示例。
Docker还内置了可以启用的Prometheus指标,因此您可能不需要编写此代码。