Sobes.tech
Junior — Middle

გქონდათ თუ არა გამოცდილება Prometheus-თან ინტეგრაციისთვის ბიბლიოთეკების გამოყენებაში?

sobes.tech AI

პასუხი AI-სგან

დიახ, Go-ში არსებობს ოფიციალური მყიდველის ბიბლიოთეკა Prometheus-ის ინტეგრაციისთვის — ეს არის პაკეტი prometheus/client_golang. იგი საშუალებას აძლევს შექმნათ და დარეგისტრიროთ მეტრიკები (სათვლელები, ჰისტოგრამები, ჯამები და ა.შ.), რომლებიც შემდეგ შეიძლება ექსპორტირებული იყოს Prometheus-ის შეგროვებისთვის.

გამოყენების მაგალითი:

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

var (
    opsProcessed = prometheus.NewCounter(prometheus.CounterOpts{
        Name: "myapp_processed_ops_total",
        Help: "სულ processed მოვლენების რაოდენობა",
    })
)

func init() {
    prometheus.MustRegister(opsProcessed)
}

func handler(w http.ResponseWriter, r *http.Request) {
    opsProcessed.Inc()
    w.Write([]byte("გამარჯობა, Prometheus!"))
}

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

ეს მიდგომა ადვილად აძლევს საშუალებას თქვენი აპლიკაციის მეტრიკების ინტეგრირებას და მათ შეგროვებას Prometheus-ის საშუალებით.