Aller au contenu

🚨 Alertes Serveur de Base de Données

Ce document détaille les alertes configurées pour nos serveurs de base de données, incluant leurs configurations Prometheus.

🔌 Disponibilité de la Base de Données

💀 Base de Données Indisponible

Se déclenche lorsqu'une instance de base de données est indisponible.

- alert: database_down
  expr: pg_up == 0
  for: 2m
  labels:
    severity: page
  annotations:
    summary: "Instance {{ $labels.instance }} indisponible"
    description: "La base de données sur l'instance {{ $labels.instance }} du job {{ $labels.job }} est indisponible depuis plus de 2 minutes."

🔍 Considérations pour des Alertes Supplémentaires de Base de Données

Bien que la configuration fournie se concentre principalement sur la disponibilité de la base de données, il est courant d'avoir des alertes supplémentaires pour les performances et la santé de la base de données. Voici quelques types d'alertes à envisager :

  1. 🖥️ Utilisation CPU élevée : Alerte lorsque l'utilisation CPU de la base de données est constamment élevée.
  2. 💾 Pression sur la mémoire : Alerte lorsque la mémoire disponible pour la base de données est faible.
  3. 💽 Espace disque : Alerte lorsque l'espace disque de la base de données est faible.
  4. 🔗 Saturation du pool de connexions : Alerte lorsque le nombre de connexions actives est proche du maximum autorisé.
  5. ⏱️ Requêtes lentes : Alerte lorsqu'il y a une augmentation du nombre de requêtes s'exécutant lentement.
  6. 🔄 Retard de réplication : Pour les bases de données avec réplication, alerte lorsque le retard de réplication dépasse un seuil.
  7. 🔒 Contention de verrou : Alerte lorsqu'il y a un nombre inhabituel d'attentes de verrou ou de deadlocks.
  8. 📊 Taux de succès du cache : Alerte lorsque le taux de succès du cache tombe en dessous d'un seuil acceptable.

📝 Exemples d'Alertes Supplémentaires

🖥️ Utilisation CPU Élevée de la Base de Données

- alert: UtilisationCPUBDElevee
  expr: rate(pg_cpu_usage_total[5m]) > 0.8
  for: 5m
  labels:
    severity: warning
  annotations:
    summary: "Utilisation CPU élevée de la base de données"
    description: "L'utilisation CPU de la base de données est supérieure à 80% depuis plus de 5 minutes."

💽 Espace Disque Faible de la Base de Données

- alert: EspaceDisqueBDFaible
  expr: pg_database_size / pg_database_max_size * 100 > 85
  for: 5m
  labels:
    severity: warning
  annotations:
    summary: "Espace disque faible de la base de données"
    description: "L'espace disque utilisé de la base de données est supérieur à 85% depuis plus de 5 minutes."

🔗 Saturation du Pool de Connexions

- alert: SaturationPoolConnexions
  expr: pg_stat_activity_count / pg_settings_max_connections * 100 > 90
  for: 5m
  labels:
    severity: warning
  annotations:
    summary: "Saturation du pool de connexions"
    description: "Le nombre de connexions actives est supérieur à 90% du maximum autorisé depuis plus de 5 minutes."

🔄 Retard de Réplication

- alert: RetardReplication
  expr: pg_replication_lag > 300
  for: 5m
  labels:
    severity: warning
  annotations:
    summary: "Retard de réplication important"
    description: "Le retard de réplication est supérieur à 5 minutes depuis plus de 5 minutes."

📚 Conclusion

Ces alertes fournissent une base solide pour surveiller la santé et les performances de vos bases de données. N'oubliez pas d'ajuster les seuils en fonction de vos besoins spécifiques et de l'environnement de votre base de données. Une surveillance proactive peut aider à prévenir les problèmes avant qu'ils n'affectent les utilisateurs finaux.