Aller au contenu principal
Kgaut's links

Navigation principale

  • Accueil
Menu du compte de l'utilisateur
  • Se connecter

Fil d'Ariane

  1. Accueil

SHPV

Par Anonyme (non vérifié) , 25 novembre 2025
URL
SHPV
body
  1. Accueil
  2. /
  3. Blog
  4. /
  5. Centraliser vos logs avec Grafana Loki, Promtail et Docker

Article

Centraliser vos logs avec Grafana Loki, Promtail et Docker

Publié le 20 mai 2025

Monitoring
Docker
Logs

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

version: '3.8'

services:
  loki:
    image: grafana/loki:2.9.0
    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:2.9.0
    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:latest
    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

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 d’Apache/Nginx
  • Centralisation des logs de plusieurs serveurs via Promtail distant
  • Suivi d’é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 pertinents (app, env, host)
  • Activez la rétention automatique (retention_period)
  • Sécurisez l’accès Grafana (HTTPS, alerting, auth SSO)
  • Intégrez avec Prometheus pour une observabilité complète

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.

Contactez-nous

Articles similaires qui pourraient vous intéresser
Mettre en place un cluster Redis pour la haute disponibilité
Base de données
Cache
Administration

Mettre en place un cluster Redis pour la haute disponibilité

Apprenez à déployer et configurer un cluster Redis avec réplication et bascule automatique afin d’assurer performance et disponibilité.

13/10/2025

Lire plus →

Améliorer la sécurité SSH avec Port Knocking
Linux
Sécurité
SSH

Améliorer la sécurité SSH avec Port Knocking

Découvrez comment protéger vos accès SSH grâce au port knocking, une technique qui masque le port d'administration et ne l'ouvre qu'après une séquence d'accès spécifique.

12/10/2025

Lire plus →

Configurer un serveur Syslog centralisé pour collecter les logs
Linux
Logs
Administration

Configurer un serveur Syslog centralisé pour collecter les logs

Apprenez à mettre en place un serveur Syslog centralisé sous Linux afin de centraliser, analyser et surveiller efficacement vos logs systèmes et applicatifs.

11/10/2025

Lire plus →

Résumé
SHPV votre partenaire de confiance en infrastructure et infogérance informatique en France. Optez pour des services adaptés à vos besoins, conçus pour garantir la sécurité, la performance et la continuité de vos activités.
Image

Mots clés

activitypubAndroidAnniversaireAppauvergnebaladebatchcacheCICultureDaronnadeddevdebiandockerDrupalfedorafirefoxgitgithubgitlabgitlab-cigooglehome-assistantjardinagekoboLecturelinuxmigrate APIOrchestrationoutilphpphpunitplexrandonnéesportSpotifysymfonysécuritéTestswallpaper
Propulsé par Drupal