Go metrics
Contents
导入包
go get -u github.com/go-kratos/kratos/contrib/metrics/prometheus/v2
注册路由
// 导入pkg
import "github.com/prometheus/client_golang/prometheus/promhttp"
// http 服务注册此路由
router.Handle("/metrics", promhttp.Handler())
验证是否引入metrics
curl /metrics
可以看到默认的数据
定义一个指标
var _metricRequests = prometheus.NewCounterVec(prometheus.CounterOpts{
Namespace: "server",
Subsystem: "requests",
Name: "code_total",
Help: "The total number of processed requests",
}, []string{"kind", "operation", "code", "reason"})
注册该指标
import "github.com/prometheus/client_golang/prometheus"
prometheus.MustRegister(_metricRequests)
使用指标
var requests = prom.NewCounter(_metricRequests)
requests.With("get", "/", "200", "OK").Inc()
验证定义指标是否生效
当我们使用完指标后 即可查看
# HELP server_requests_code_total The total number of processed requests
# TYPE server_requests_code_total counter
server_requests_code_total{code="200",kind="get",operation="/",reason="OK"} 1