Junior — Middle
Koje metode nadzora i dijagnostike stanja servera poznaješ?
sobes.tech АИ
Одговор од АИ
Za praćenje i dijagnostiku stanja servera u Go često se koriste sledeće metode:
-
Profilisanje pomoću pprof — ugrađeni paket za prikupljanje profila CPU, memorije, blokada i gorutina. Omogućava identifikaciju uskih grla i curenja.
-
Logovanje — prikupljanje i analiza logova rada servera za otkrivanje grešaka i anomalija.
-
Metrike sa Prometheus — izvoz metrika (npr. broj zahteva, vreme odziva, korišćenje memorije) i vizualizacija putem Grafane.
-
Provere zdravlja (health checks) — specijalni HTTP endpoini koji vraćaju status servera.
-
Praćenje zahteva (tracing) — korišćenje OpenTelemetry ili Jaeger za praćenje lanaca poziva.
Primer korišćenja pprof:
import (
"net/http"
_ "net/http/pprof"
)
func main() {
go func() {
log.Println(http.ListenAndServe("localhost:6060", nil))
}()
// glavni kod servera
}
Nakon pokretanja, može se otvoriti http://localhost:6060/debug/pprof/ za analizu.