Sobes.tech
Junior — Middle

Kokius serverio būklės stebėjimo ir diagnostikos metodus žinai?

sobes.tech AI

Atsakymas iš AI

Go serveryje būsenos stebėjimui ir diagnostikai dažnai naudojamos šios metodikos:

  • Profilis su pprof — įmontuotas paketas CPU, atminties, užraktų ir goroutine profilių rinkimui. Leidžia nustatyti vietas, kur yra našumo spragos ir nutekėjimai.

  • Žurnalo įrašymas — serverio veiklos žurnalų rinkimas ir analizė klaidų ir anomalijų aptikimui.

  • Metrikos su Prometheus — metrikų eksportas (pvz., užklausų skaičius, atsako laikas, atminties naudojimas) ir vizualizacija per Grafaną.

  • Sveikatos patikrinimai (health checks) — specialūs HTTP galiniai taškai, kurie grąžina serverio būseną.

  • Užklausų sekimas (tracing) — OpenTelemetry ar Jaeger naudojimas sekant kvietimų grandines.

Pavyzdys, kaip naudoti pprof:

import (
    "net/http"
    _ "net/http/pprof"
)

func main() {
    go func() {
        log.Println(http.ListenAndServe("localhost:6060", nil))
    }()
    // pagrindinis serverio kodas
}

Po paleidimo galima atidaryti http://localhost:6060/debug/pprof/ analizei.