Junior — Middle
Jaké metody monitorování a diagnostiky stavu serveru znáš?
sobes.tech AI
Odpověď od AI
Pro sledování a diagnostiku stavu serveru v Go se často používají následující metody:
-
Profilování pomocí pprof — vestavěný balíček pro sběr profilů CPU, paměti, zámků a gorutin. Umožňuje identifikovat úzká místa a úniky.
-
Logování — sběr a analýza logů serveru pro odhalení chyb a anomálií.
-
Metriky s Prometheus — export metrik (například počet požadavků, doba odezvy, využití paměti) a vizualizace přes Grafanu.
-
Kontroly zdraví (health checks) — speciální HTTP endpointy, které vracejí stav serveru.
-
Tracing požadavků (tracing) — použití OpenTelemetry nebo Jaeger pro sledování řetězců volání.
Příklad použití pprof:
import (
"net/http"
_ "net/http/pprof"
)
func main() {
go func() {
log.Println(http.ListenAndServe("localhost:6060", nil))
}()
// hlavní kód serveru
}
Po spuštění lze otevřít http://localhost:6060/debug/pprof/ pro analýzu.