Skip to content

Dozzle vs Grafana Loki ​

Loki est un stockage de logs. Un collecteur y envoie chaque ligne de log, Loki les conserve aussi longtemps que vous le configurez, et Grafana est l'endroit où vous les interrogez. Dozzle ne stocke rien : il lit les logs directement depuis Docker, les mêmes que ceux qu'affiche docker logs, et les diffuse dans votre navigateur.

La vraie question est donc de savoir si vous devez conserver les logs ailleurs que dans Docker.

En un coup d'œil ​

DozzleGrafana + Loki
Ce que vous faites tournerUn conteneurLoki, Grafana et un collecteur comme Grafana Alloy
Où vivent les logsDans Docker, tels qu'il les conserve déjàCopiés dans le stockage propre à Loki
Jusqu'où remonterAussi loin que la rotation des logs de Docker les conserveAussi longtemps que la rétention configurée dans Loki
Suivi en directLa vue par défautDisponible dans Grafana Explore
RequêtesRecherche, expressions régulières, SQL sur le JSONLogQL, y compris des métriques calculées à partir des logs
Tableaux de bordCPU et mémoire des conteneursTout tableau de bord que vous construisez dans Grafana
AlertesAlertes sur les logs, les métriques et les évènementsAlertes Grafana sur des requêtes LogQL
Logs hors de DockerNonOui : fichiers, journal systemd, Kubernetes et plus encore

Quand choisir Loki ​

Choisissez Loki quand vous avez besoin des logs après que Docker les a supprimés par rotation, quand un conteneur est supprimé et que ses logs doivent rester, ou quand vous devez chercher dans des semaines d'historique. C'est aussi le meilleur choix si vous utilisez déjà Grafana et voulez les logs à côté de vos métriques, ou si vous avez besoin de logs provenant d'autre chose que des conteneurs.

Prévoyez l'installation. Promtail, le collecteur utilisé par la plupart des anciens guides, est arrivé en fin de vie en mars 2026, donc les nouvelles installations utilisent Grafana Alloy ou le driver Docker de Loki.

Quand Dozzle convient mieux ​

Choisissez Dozzle quand vous voulez voir ce que fait un conteneur maintenant, ou ce qu'il a fait ces dernières heures ou ces derniers jours, sans faire tourner une chaîne de collecte de logs. Pas de stockage à dimensionner, pas de rétention à régler, pas de langage de requête à apprendre. Il démarre en quelques secondes. Voir Démarrage.

L'historique que Dozzle peut afficher dépend de la rotation des logs de Docker. Pour en garder davantage, augmentez les limites dans /etc/docker/daemon.json :

json
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "50m",
    "max-file": "5"
  }
}

Les nouvelles limites s'appliquent aux conteneurs créés après le redémarrage de Docker.

Utiliser les deux ​

Beaucoup d'installations font tourner Loki pour l'historique et Dozzle pour le débogage au quotidien. Ils ne se gênent pas : Dozzle lit depuis Docker, et Alloy lit depuis Docker. Si vous passez plutôt vos conteneurs au driver Docker de Loki, laissez activé le dual logging de Docker (c'est le cas par défaut), pour que docker logs, et donc Dozzle, puissent toujours les lire. Docker garde alors cette copie dans un cache dimensionné par cache-max-size et cache-max-file (5 fichiers de 20 Mo par défaut), et non par le max-size ci-dessus.

Publié sous licence MIT. Open source et sponsorisé par Docker OSS.