Troubleshooting
Guide de résolution des problèmes courants.
Serveur de Monitoring
Loki ne démarre pas
Symptôme : Container Loki en restart loop
Causes possibles :
-
Permissions du volume
-
Configuration invalide
-
Espace disque insuffisant
Grafana ne se connecte pas à Loki
Symptôme : Datasource en erreur dans Grafana
# Tester la connexion interne
docker-compose exec grafana wget -qO- http://loki:3100/ready
# Vérifier le réseau Docker
docker network inspect monitoring_monitoring
Solution : Vérifiez que les services sont sur le même réseau Docker.
Certificats SSL non générés
Symptôme : ERR_SSL_PROTOCOL_ERROR dans le navigateur
# Vérifier les logs Traefik
docker-compose logs traefik | grep -i "acme\|certificate"
# Vérifier que le port 80 est accessible (Let's Encrypt HTTP challenge)
curl -I http://grafana.monitoring.lyroh.com
Causes : - DNS non propagé - Port 80 bloqué par firewall - Email ACME invalide
Traefik ne route pas correctement
# Voir les routers actifs
docker-compose exec traefik traefik healthcheck
# Vérifier les labels Docker
docker inspect grafana | jq '.[0].Config.Labels'
Agents Alloy
Alloy ne se connecte pas à Loki
Symptôme : Logs non reçus dans Grafana
# Vérifier les logs de l'agent
docker-compose logs alloy
# Tester la connexion manuellement
curl -v -u "loki-push:PASSWORD" \
https://loki.monitoring.lyroh.com/ready
Causes possibles :
- Credentials incorrects
- Vérifiez
.envsur le serveur de l'agent -
Vérifiez que le hash dans
middlewares.ymlcorrespond -
Certificat SSL
-
Firewall
Logs des containers non collectés
Symptôme : Certains containers n'apparaissent pas dans Grafana
# Vérifier que le socket Docker est monté
docker-compose exec alloy ls -la /var/run/docker.sock
# Vérifier les targets découverts
curl http://localhost:12345/api/v0/component/discovery.docker.containers/targets
Causes :
- Socket Docker non monté
- Container sans label app
- Container sur un autre réseau Docker
Labels manquants ou incorrects
# Vérifier les labels d'un container
docker inspect <container_name> | jq '.[0].Config.Labels'
# Vérifier la configuration Alloy
docker-compose exec alloy cat /etc/alloy/config.alloy
Problèmes de Performance
Requêtes lentes dans Grafana
Solutions :
- Réduire la plage temporelle : Commencez par 1h, pas 7 jours
- Utiliser des labels plus précis :
{app="x"}pas{env=~".+"} - Filtrer avant de parser :
|= "error"avant| json
# Lent
{env="prod"} | json | level="error"
# Rapide
{app="nestjs-backend", env="prod"} |= "error" | json
Loki utilise trop de mémoire
Ajustez la configuration :
# loki-config.yml
ingester:
chunk_target_size: 1572864 # Réduire si nécessaire
wal:
replay_memory_ceiling: 512MB # Réduire
limits_config:
ingestion_rate_mb: 8 # Réduire
per_stream_rate_limit: 3MB # Réduire
Disque plein
# Vérifier l'utilisation
du -sh /var/lib/docker/volumes/monitoring_loki_data/
# Réduire la rétention
# Dans loki-config.yml :
limits_config:
retention_period: 72h # 3 jours au lieu de 7
Erreurs Communes
"rate limit exceeded"
Cause : Trop de logs envoyés trop vite
Solution : Augmenter les limites ou réduire le volume de logs
"out of order sample"
Cause : Logs avec timestamps désordonnés
Solution : Loki 3.x accepte par défaut les logs désordonnés. Si le problème persiste :
"stream limit exceeded"
Cause : Trop de combinaisons de labels uniques
Solution : Réduire la cardinalité des labels
Commandes de Diagnostic
État général
# Serveur monitoring
cd /opt/monitoring
docker-compose ps
docker-compose logs --tail=50
# Agent Alloy
cd /opt/alloy-agent
docker-compose ps
docker-compose logs --tail=50
Métriques Loki
Santé des services
# Loki
curl http://localhost:3100/ready
curl http://localhost:3100/metrics
# Grafana
curl http://localhost:3000/api/health
# Alloy
curl http://localhost:12345/ready
Contacts Support
- Documentation : https://docs.monitoring.lyroh.com
- Grafana : https://grafana.monitoring.lyroh.com