Aller au contenu

Grafana

Accès

  • URL : https://grafana.epitools.bj
  • Port local : 127.0.0.1:6050
  • Login : admin / mot de passe défini dans le secret GRAFANA_ADMIN_PASSWORD

Datasource Loki

La datasource Loki est auto-provisionnée au démarrage de Grafana. Aucune configuration manuelle nécessaire.

  • URL interne : http://loki:3100
  • Fichier de provisioning : grafana/provisioning/datasources/loki.yml

Requêtes utiles (Explore > Loki)

Lister tous les logs

{compose_service=~".+"}

Filtrer par service

{compose_service="backend"}
{compose_service="uptime-kuma"}

Erreurs uniquement

{compose_service="backend"} |= "ERROR"

Erreurs mail

{compose_service="backend"} |= "Mail loop error"

Rechercher un texte

{compose_service="backend"} |= "Student not found"

Compter les erreurs sur 5 minutes

count_over_time({compose_service="backend"} |= "ERROR" [5m])

Logs sur une période

Utiliser le sélecteur de temps en haut à droite de Grafana pour restreindre la fenêtre temporelle.

Alertes

Alertes configurées (dossier "Pedago Watch")

Alerte Condition Action
High Error Rate > 10 erreurs en 5 min Email
Log Silence 0 logs en 5 min Email
Mail Queue Failures > 3 erreurs mail en 5 min Email

Ajouter des alertes pour un nouveau projet

Les règles d'alerte sont provisionnées automatiquement depuis des fichiers YAML :

cd /root/projects/pedago-tools-monitoring/grafana/provisioning/alerting/projects/
cp template.yml.example mon-projet.yml
# Éditer mon-projet.yml avec les bons noms de service
docker compose restart grafana

Le fichier template contient des règles pré-configurées. Il suffit de remplacer le nom du service (compose_service) par celui du nouveau projet.

Ajouter un canal de notification

  1. Aller dans Grafana > Alerting > Contact Points
  2. Cliquer Add Contact Point
  3. Choisir le type : Email ou Webhook
  4. Configurer les paramètres
  5. Cliquer Test pour vérifier
  6. Sauvegarder

Logs via Docker (sans Grafana)

En cas de problème avec Grafana, les logs restent accessibles directement :

# Logs du backend (dernières 50 lignes)
cd /root/projects/alert-parent/alert-parent-backend
docker compose logs backend --tail 50

# Logs en temps réel
docker compose logs backend -f