亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用杜松子酒作為服務器來編寫普羅米修斯出口商指標

如何使用杜松子酒作為服務器來編寫普羅米修斯出口商指標

Go
九州編程 2022-08-01 15:10:02
這是官方的prometheus golang-client示例:package mainimport (    "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
查看完整描述

3 回答

?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

我們只是利用處理程序。promhttp


package main


import (

    "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


查看完整回答
反對 回復 2022-08-01
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

使用杜松子酒包裝機

router.GET("/metrics", gin.WrapH(promhttp.Handler()))


查看完整回答
反對 回復 2022-08-01
?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

我正在將普羅米修斯與其他庫 https://github.com/Depado/ginprom 一起使用:


package main


import (

    "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")

}


查看完整回答
反對 回復 2022-08-01
  • 3 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號