一、最简单的 exporter

1
2
3
4
5
6
7
8
9
10
11
12
package main

import (
"log"
"net/http"
"github.com/prometheus/client_golang/prometheus/promhttp"
)

func main() {
http.Handle("/metrics", promhttp.Handler())
log.Fatal(http.ListenAndServe(":8080", nil))
}

执行go build编译运行,然后访问http://127.0.0.1:8080/metrics就可以看到采集到的指标数据。

这段代码仅仅通过http模块指定了一个路径/metrics,并将client_golang库中的promhttp.Handler()作为处理函数传递进去后,就可以获取指标数据了。这个最简单的 Exporter 内部其实是使用了一个默认的收集器NewGoCollector采集当前Go运行时的相关信息,比如go堆栈使用、goroutine数据等等。

参考自:https://blog.csdn.net/lisonglisonglisong/article/details/81743555