如何使用杜松子酒作为服务器来编写普罗米修斯出口商指标

这是官方的prometheus golang-client示例:


package main


import (

    "log"

    "net/http"


    "github.com/prometheus/client_golang/prometheus"

    "github.com/prometheus/client_golang/prometheus/promhttp"

)


var cpuTemp = prometheus.NewGauge(prometheus.GaugeOpts{

        Name: "cpu_temperature_celsius",

        Help: "Current temperature of the CPU.",

    })



func init() {

    // Metrics have to be registered to be exposed:

    prometheus.MustRegister(cpuTemp)

}


func main() {

    cpuTemp.Set(65.3)


    // 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(":8080", nil))

}

在此代码中,http 服务器使用该库。promhttp


使用框架时如何修改指标处理程序?我没有在文档中找到答案。gin


九州编程
浏览 124回答 3
3回答

明月笑刀无情

我们只是利用处理程序。promhttppackage mainimport (    "github.com/gin-gonic/gin"    "github.com/prometheus/client_golang/prometheus"    "github.com/prometheus/client_golang/prometheus/promhttp")var cpuTemp = prometheus.NewGauge(prometheus.GaugeOpts{    Name: "cpu_temperature_celsius",    Help: "Current temperature of the CPU.",})func init() {    prometheus.MustRegister(cpuTemp)}func prometheusHandler() gin.HandlerFunc {    h := promhttp.Handler()    return func(c *gin.Context) {        h.ServeHTTP(c.Writer, c.Request)    }}func main() {    cpuTemp.Set(65.3)    r := gin.New()    r.GET("/", func(c *gin.Context) {        c.JSON(200, "Hello world!")    })    r.GET("/metrics", prometheusHandler())    r.Run()}或者我们总是可以切换到普罗米修斯中间件 - https://github.com/zsais/go-gin-prometheus

温温酱

使用杜松子酒包装机router.GET("/metrics", gin.WrapH(promhttp.Handler()))

HUWWW

我正在将普罗米修斯与其他库 https://github.com/Depado/ginprom 一起使用:package mainimport (    "github.com/Depado/ginprom"    "github.com/gin-gonic/gin")func main() {    r := gin.Default()    p := ginprom.New(        ginprom.Engine(r),        ginprom.Subsystem("gin"),        ginprom.Path("/metrics"),    )    r.Use(p.Instrument())    r.GET("/hello/:id", func(c *gin.Context) {})    r.GET("/world/:id", func(c *gin.Context) {})    r.Run("127.0.0.1:8080")}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go