Prendre rendez-vous
  1. Accueil
  2. /
  3. Blog
  4. /
  5. Centraliser vos logs avec Grafana Loki, Promtail et Docker

Conteneurs
Monitoring

Centraliser vos logs avec Grafana Loki, Promtail et Docker

20 mai 2025

4 min de lecture

Sommaire
Pourquoi utiliser Grafana Loki ?
Prérequis
Structure du projet
Fichier docker-compose.yml
Configuration de Loki
Configuration de Promtail
Démarrage de la stack
Configuration de Grafana
Exemple d'usage
Comparatif avec d'autres solutions
Bonnes pratiques
Compléter votre observabilité
Conclusion

Une stack de journalisation centralisée est essentielle pour diagnostiquer les problèmes, assurer la traçabilité et améliorer l'observabilité de vos systèmes. Dans ce guide, nous allons déployer une stack complète composée de Grafana Loki (stockage des logs), Promtail (collecteur) et Grafana (visualisation), le tout en Docker.

Pourquoi utiliser Grafana Loki ?

Grafana Loki est une alternative légère et performante à la stack ELK (Elasticsearch, Logstash, Kibana) :

  • 📦 Intégration native avec Grafana
  • ⚡ Stockage optimisé pour la performance
  • 📈 Requêtes similaires à Prometheus (LogQL)
  • 🔧 Déploiement simple via Docker ou Kubernetes

Prérequis

  • Serveur Debian 11/12
  • Docker + Docker Compose
  • Accès sudo
  • Quelques services générant des logs

Structure du projet

mkdir -p ~/loki-stack && cd ~/loki-stack

Fichier docker-compose.yml

services:
  loki:
    image: grafana/loki:3.3
    container_name: loki
    ports:
      - '3100:3100'
    command: -config.file=/etc/loki/local-config.yaml
    volumes:
      - ./loki-config.yaml:/etc/loki/local-config.yaml

  promtail:
    image: grafana/promtail:3.3
    container_name: promtail
    volumes:
      - /var/log:/var/log
      - ./promtail-config.yaml:/etc/promtail/config.yaml
    command: -config.file=/etc/promtail/config.yaml

  grafana:
    image: grafana/grafana:11.3
    container_name: grafana
    ports:
      - '3000:3000'
    volumes:
      - grafana-storage:/var/lib/grafana
    environment:
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=admin

volumes:
  grafana-storage:

Configuration de Loki

Créez un fichier loki-config.yaml :

auth_enabled: false

server:
  http_listen_port: 3100

ingester:
  lifecycler:
    ring:
      kvstore:
        store: inmemory
      replication_factor: 1
  chunk_idle_period: 5m
  chunk_retain_period: 30s

schema_config:
  configs:
    - from: 2022-01-01
      store: boltdb-shipper
      object_store: filesystem
      schema: v11
      index:
        prefix: index_
        period: 24h

storage_config:
  boltdb_shipper:
    active_index_directory: /tmp/loki/index
    cache_location: /tmp/loki/boltdb-cache
    shared_store: filesystem
  filesystem:
    directory: /tmp/loki/chunks

limits_config:
  enforce_metric_name: false
  reject_old_samples: true
  reject_old_samples_max_age: 168h

chunk_store_config:
  max_look_back_period: 0s

table_manager:
  retention_deletes_enabled: true
  retention_period: 168h

Configuration de Promtail

Créez un fichier promtail-config.yaml :

server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

clients:
  - url: http://loki:3100/loki/api/v1/push

scrape_configs:
  - job_name: system
    static_configs:
      - targets:
          - localhost
        labels:
          job: varlogs
          __path__: /var/log/*.log

Note Loki 3.0+ : À partir de Loki 3.0, Promtail a été remplacé par Alloy, un collecteur d'observabilité unifié plus puissant. Cet article utilise toujours Promtail pour compatibilité, mais pour les nouveaux déploiements, considérez Alloy (grafana/alloy:latest) comme la solution recommandée. La configuration reste similaire et Alloy supporte les schémas Promtail.


Démarrage de la stack

docker compose up -d

Configuration de Grafana

  1. Accédez à : http://localhost:3000 (admin / admin)
  2. Ajoutez une source de données Loki :
    • Type : Loki
    • URL : http://loki:3100
  3. Créez un dashboard ou utilisez un modèle existant
  4. Requêtes LogQL possibles :
{job="varlogs"} |= "error"
{job="varlogs"} |~ "timeout|fail|denied"

Exemple d'usage

  • Analyse des erreurs Apache/Nginx
  • Centralisation des logs de plusieurs serveurs via Promtail distant
  • Suivi des événements système (/var/log/syslog, auth.log)
  • Supervision de conteneurs via Docker Logging Driver

Comparatif avec d'autres solutions

StackVisualisationPoidsMaintenanceCoût
Loki + Promtail✅ Grafana🟢 Léger🟢 FaibleGratuit
ELK Stack✅ Kibana🔴 Lourd🔴 ÉlevéeGratuit*
Graylog✅ Graylog UI🟠 Moyen🟠 ModéréeGratuit*
Fluentd + InfluxDB✅ Variable🟠 Moyen🟠 VariableGratuit

Bonnes pratiques

  • Utilisez des labels stables et peu nombreux (app, env, host)
  • Activez la rétention automatique (retention_period)
  • Sécurisez l'accès Grafana (HTTPS, alerting, auth SSO)
  • Intégrez avec Prometheus et Grafana pour une observabilité complète

Compléter votre observabilité

  • Combinez Loki avec Grafana Tempo pour couvrir logs, métriques et traces
  • Explorez Vector comme alternative pour un pipeline d'observabilité plus unifié
  • Pour les gros volumes, considérez la centralisation rsyslog en amont

Conclusion

La stack Loki + Promtail + Grafana est une solution moderne, légère et puissante pour centraliser les logs. Facile à déployer avec Docker, elle offre une alternative crédible aux solutions plus lourdes tout en restant compatible avec les standards du monitoring moderne.

Besoin d'aide sur ce sujet ?

Notre équipe d'experts est là pour vous accompagner dans vos projets d'infrastructure et d'infogérance.

Contactez-nous

Articles similaires

Uptime Kuma : Supervisez vos sites et services en toute simplicité
Conteneurs
Monitoring

Uptime Kuma : Supervisez vos sites et services en toute simplicité

Tutoriel complet pour installer et configurer Uptime Kuma, une solution de monitoring open-source pour surveiller l'état de vos sites web, serveurs et API avec alertes en temps réel

18 mai 2025

Lire plus

Comment déployer une stack de monitoring ?
Conteneurs
Monitoring

Comment déployer une stack de monitoring ?

Guide complet pour déployer une stack de monitoring avec Prometheus, Grafana et Alertmanager sur un serveur Debian avec Docker

15 mai 2025

Lire plus

Packer + Ansible : pipeline d'images golden modernes
DevOps
Infrastructure
Conteneurs

Packer + Ansible : pipeline d'images golden modernes

Construire des images VM et conteneurs immuables avec HashiCorp Packer et Ansible. Multi-cloud, multi-format, signature, intégration CI/CD, retours ops.

29 mai 2026

Lire plus


SHPV, votre partenaire de confiance en infrastructure et infogérance informatique en France.

SHPV
Prendre rendez-vousNous contacter
Expertise
InfrastructureDatacenterInfogéranceCloudHébergementTransit IP
Légales
Conditions Générales de VenteCPS - Contrat de ServicesCPS - Hébergement CloudCPS - Microsoft 365Accord sous-traitance RGPDTarifs interventions

SHPV © 2026 - Tous droits réservés

Mentions légalesPolitiques de confidentialité
SHPV FRANCE - SAS au capital de 16 000 € - 52 Rue Romain Rolland, 71230 Saint-Vallier - SIRET n°80886287400035 - R.C.S. Chalon-sur-Saône. Par téléphone 09 72 310 818 - Email: support@shpv.fr