Junior — Middle
Ինչպես փոխանցել մետրիկաները ծրագրից Grafana-ին տեսողականության և մոնիտորինգի համար?
sobes.tech AI
Պատասխան AI-ից
Go ծրագրից մետրիկների փոխանցումը դեպի Grafana սովորաբար օգտագործում է Prometheus մոնիտորինգի համակարգը, որը լավ ինտեգրված է Grafana-ով:
Հիմնական քայլերը:
- Go ծրագրում միացրեք Prometheus հաճախորդային գրադարանը (prometheus/client_golang):
- Հստակեցրեք և գրանցեք մետրիկները (հաշվիչներ, հիստոգրամներ, gauges):
- Սկսեք HTTP սերվեր
/metricsվերջնակետով, որը տրամադրում է մետրիկների ընթացիկ արժեքները Prometheus- ի համար ընթեռնելի ձևաչափով: - Կարգավորեք Prometheus- ում այս վերջնակետից մետրիկների հավաքագրումը:
- Grafana- ն միացեք Prometheus- ի որպես տվյալների աղբյուր և տեսողականացրեք մետրիկները:
Go կոդի օրինակ:
import (
"net/http"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
)
var (
opsProcessed = prometheus.NewCounter(prometheus.CounterOpts{
Name: "myapp_processed_ops_total",
Help: "Ընդհանուր մշակված իրադարձությունների քանակը",
})
)
func init() {
prometheus.MustRegister(opsProcessed)
}
func main() {
http.Handle("/metrics", promhttp.Handler())
go func() {
for {
opsProcessed.Inc() // ավելացնում ենք հաշվիչը
time.Sleep(time.Second)
}
}()
http.ListenAndServe(":2112", nil)
}
Այսպիսով, մետրիկները հասանելի են Prometheus- ի հավաքագրման և Grafana- ում ցուցադրման համար։