RousselTMLEARNING

Article · Traefik: From Discovery to Expertise

Logs

This article is available in French.

1. Deux journaux différents #

Fonctionnement et trafic.

Distinguer #

JournalContenuConfiguration
Journal de Traefik (log)Démarrage, erreurs de configuration, certificats, providerslog.level : ERROR (défaut), WARN, INFO, DEBUG
Access logs (accessLog)Une ligne par requête : client, routeur, service, statut, duréedésactivés par défaut

Configuration #

log:
  level: INFO
  format: json
accessLog:
  filePath: /var/log/traefik/access.log
  format: json
  bufferingSize: 100                     # écriture groupée
  filters:
    statusCodes: ["400-599"]             # n'enregistrer que les erreurs…
    minDuration: 500ms                   # …ou les requêtes lentes
  fields:
    headers:
      defaultMode: drop
      names: { User-Agent: keep, Authorization: redact }

2. Lire les access logs #

Les champs utiles.

Champs JSON principaux #

ChampSignification
ClientHostAdresse IP du client
RequestMethod, RequestPathMéthode et chemin
RouterName, ServiceNameRouteur et service qui ont traité la requête
DownstreamStatusStatut renvoyé au client
OriginStatusStatut renvoyé par le backend (0 s'il n'a pas répondu)
DurationDurée totale en nanosecondes
TraceIdIdentifiant de trace si le tracing est activé

Requêtes avec jq #

Chaîne de collecte des logs
Les access logs JSON se collectent sans règle d'analyse.
# Erreurs 5xx par service
jq -r 'select(.DownstreamStatus >= 500) | .ServiceName' access.log | sort | uniq -c | sort -rn
# Requêtes les plus lentes (ms)
jq -r '[(.Duration/1e6|floor), .RequestPath] | @tsv' access.log | sort -rn | head
# Le backend n'a pas répondu (502/504) : OriginStatus vaut 0
jq -c 'select(.OriginStatus == 0) | {RouterName, ServiceName, DownstreamStatus}' access.log

3. Bonnes pratiques #

Utile, maîtrisé, conforme.

Règles #

  • Format JSON, horodatage UTC et rotation (logrotate avec envoi de USR1 à Traefik pour rouvrir le fichier).
  • Masquer les en-têtes sensibles (Authorization, cookies) : ce sont des données personnelles ou des secrets.
  • Filtrer en production à fort trafic (erreurs et requêtes lentes) et produire les volumes par des métriques plutôt que par les logs.
  • Activer le tracing pour relier une ligne de log à une trace (TraceId).
RGPD : Les adresses IP sont des données personnelles au sens du RGPD : définissez une durée de conservation.

📄 Traefik : les logs (journaux applicatifs et access logs) →

My progress

  • ⏱ Estimated time : ≈ 5 min

Sign in to track your progress and take notes. Sign in

💬 Ask a question

Recommended Articles

Stratégies de déploiement avec Traefik : blue/green, canary et rolling

Mettre en œuvre les stratégies de déploiement avec Traefik : rolling update par l'orchestrateur, ...

Canary automatisé avec Flagger et Traefik sur Kubernetes

Automatiser les déploiements canary avec Flagger et Traefik : ressource Canary, analyse des métri...

Gestion des certificats SSL/TLS avec Let's Encrypt et ACME

Apprenez à automatiser la génération et le renouvellement de vos certificats SSL/TLS avec Let's E...

Protocole ACME : serveur ACME, challenges http-01 et dns-01, automatisation TLS

Comprendre le protocole ACME : rôle du serveur ACME (Let's Encrypt, ZeroSSL, step-ca), challenges...

HAProxy dans Kubernetes : L'Ingress Controller Haute Performance

Découvrez en profondeur l'intégration de HAProxy dans Kubernetes. Architecture Direct-to-Pod, opt...

Maîtriser les ACLs dans HAProxy : Le Guide Complet

Guide complet sur les ACLs HAProxy : apprenez à configurer le routage intelligent, le contrôle d'...

Maîtriser les ACLs dans HAProxy

Guide complet sur les ACLs HAProxy : apprenez à configurer le routage intelligent, le contrôle d'...

HAProxy comme Ingress Controller Kubernetes : Le Guide de Production

Découvrez comment utiliser HAProxy comme Ingress Controller dans Kubernetes. Architecture Direct-...

Sécurité avancée Elasticsearch : TLS, certificats, clés d'API, FLS, DLS et audit

Sécuriser Elasticsearch en profondeur : TLS transport et HTTP, gestion des certificats avec elast...

Support us

♥ SUPPORT US

Support RousselTM Learning

Courses, articles, labs and certificates stay free with no intrusive ads. A voluntary contribution, of any amount you choose, pays for hosting, lab environments and new content.

Contribute with PayPal Any amount · card or PayPal accountLearn more
QR code PayPal
Or scan this QR code with your phone

Thank you, every contribution counts!