Sobes.tech
Junior — Middle

Como implementar monitoramento e diagnóstico de problemas de conexão à base de dados?

sobes.tech IA

Resposta da IA

Para monitorizar e diagnosticar problemas de ligação à base de dados em Go, pode usar as seguintes abordagens:

  • Registo de erros de ligação com informações detalhadas.
  • Uso de contextos (context.Context) com tempos limite para controlar o tempo de espera da ligação.
  • Verificação periódica do estado da ligação (ping) com a base de dados.
  • Métricas e alertas através do Prometheus ou outros sistemas de monitorização.

Exemplo de um simples ping à base de dados com registo de erro:

ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
err := db.PingContext(ctx)
if err != nil {
    log.Printf("Erro de ligação à base de dados: %v", err)
}

Este método ajuda a identificar e reagir rapidamente a problemas de ligação.