Junior — Middle
Hoe controleer en volg je de status van de service of applicatie tijdens het gebruik?
sobes.tech AI
Antwoord van AI
Om de status van een service of applicatie in Go te controleren en te volgen, worden meestal verschillende benaderingen gebruikt:
- Logging — belangrijke gebeurtenissen en fouten vastleggen in logbestanden of externe systemen (bijvoorbeeld ELK, Graylog).
- Metrics — statistieken verzamelen (CPU-belasting, geheugen, aantal verzoeken, fouten) met behulp van bibliotheken, bijvoorbeeld de Prometheus-client.
- Tracing — het volgen van aanroepketens en vertragingen met OpenTelemetry of Jaeger.
- Health Checks — eindpunten die de status van de service teruggeven (bijvoorbeeld
/healthz), zodat orkestratiesystemen (Kubernetes) de werking kunnen controleren.
Voorbeeld van een eenvoudige health check in 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))
Door logs, metrics en health checks te combineren, kan de status van de applicatie effectief worden gecontroleerd tijdens de werking ervan.