Sobes.tech
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.