Prometheus - 向Gauge

时间:2017-04-05 08:01:28

标签: go metrics prometheus

我有一个以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中读取这些指标并将其动态发送给它。

1 个答案:

答案 0 :(得分:1)

您希望将自定义收集器编写为导出器的一部分,请参阅https://github.com/prometheus/consul_exporter/blob/master/consul_exporter.go#L156作为示例。

Docker还内置了可以启用的Prometheus指标,因此您可能不需要编写此代码。