Sobes.tech
Junior — Middle

Hogyan lehet hozzáférni a rendszer kulcsfontosságú mérőszámaihoz?

sobes.tech MI

Válasz az MI-től

Go nyelvben a rendszer kulcsfontosságú metrikáinak megszerzéséhez gyakran használják az expvar csomagot, amely lehetővé teszi a metrikák JSON formátumban történő exportálását HTTP-n keresztül. Emellett népszerűek a harmadik fél könyvtárai, például a Prometheus kliens Go-hoz, amely gyűjti és szolgáltatja a metrikákat egy monitorozásra alkalmas formátumban.

expvar használatával példa:

import (
    "expvar"
    "net/http"
)

var requests = expvar.NewInt("requests")

func handler(w http.ResponseWriter, r *http.Request) {
    requests.Add(1)
    w.Write([]byte("Hello, metrics!"))
}

func main() {
    http.HandleFunc("/", handler)
    // A metrikák elérhetőek a /debug/vars alatt
    http.ListenAndServe(":8080", nil)
}

Emellett lehetőség van standard rendszerhívások és könyvtárak használatára memória, CPU terhelés és más metrikák lekérdezéséhez, például a runtime csomag segítségével.