Junior — Middle
Jak wdrożyć monitorowanie i diagnostykę problemów z połączeniem z bazą danych?
sobes.tech AI
Odpowiedź od AI
Aby monitorować i diagnozować problemy z połączeniem z bazą danych w Go, można użyć następujących podejść:
- Logowanie błędów połączenia z szczegółowymi informacjami.
- Użycie kontekstów (context.Context) z limitami czasowymi do kontrolowania czasu oczekiwania na połączenie.
- Okresowe sprawdzanie stanu połączenia (ping) z bazą danych.
- Metryki i alerty za pomocą Prometheus lub innych systemów monitorowania.
Przykład prostego pingowania bazy danych z logowaniem błędu:
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
err := db.PingContext(ctx)
if err != nil {
log.Printf("Błąd połączenia z bazą danych: %v", err)
}
Ten sposób pomaga szybko wykrywać i reagować na problemy z połączeniem.