Junior — Middle
Jak kontrolujete a sledujete stav služby nebo aplikace během jejího provozu?
sobes.tech AI
Odpověď od AI
Pro kontrolu a sledování stavu služby nebo aplikace v Go se obvykle používá několik přístupů:
- Logování — zaznamenávání důležitých událostí a chyb do logových souborů nebo externích systémů (například ELK, Graylog).
- Metriky — sběr statistik (zatížení CPU, paměť, počet požadavků, chyby) pomocí knihoven, například klienta Prometheus.
- Tracing — sledování řetězců volání a zpoždění pomocí OpenTelemetry nebo Jaeger.
- Health Checks — endpointy, které vracejí stav služby (například
/healthz), aby orchestrace systémy (Kubernetes) mohly ověřit funkčnost.
Příklad jednoduchého health checku v Go:
http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
w.Write([]byte("OK"))
})
log.Fatal(http.ListenAndServe(":8080", nil))
Kombinací logů, metrik a health checks lze efektivně kontrolovat stav aplikace během jejího provozu.