RousselTMLEARNING

Artículo · Traefik: del descubrimiento a la experiencia

Los logs

Este artículo está disponible en francés.

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) →

Mi seguimiento

  • ⏱ Duración estimada : ≈ 5 min

Inicia sesión para seguir tu progreso y tomar notas. Iniciar sesión

💬 Hacer una pregunta

Artículos recomendados

Bonnes pratiques Traefik : sécurité, haute disponibilité et observabilité

Bonnes pratiques Traefik : sécurisation du dashboard et du socket Docker, TLS moderne, middleware...

Traefik : les métriques avec Prometheus et OpenTelemetry

Exposer les métriques de Traefik (Prometheus ou OTLP), comprendre les séries par entrypoint, rout...

Traefik : le tracing distribué avec OpenTelemetry

Activer le tracing de Traefik v3 avec OpenTelemetry (OTLP), propager le contexte W3C vers les app...

Traefik : sécuriser et transformer les requêtes avec les middlewares (BasicAuth, ForwardAuth…)

Les middlewares Traefik modifient les requêtes et réponses entre le routeur et le service : authe...

Traefik comme Ingress Controller pour Kubernetes (Helm, IngressRoute, Gateway API)

Installer Traefik dans Kubernetes avec Helm et publier des applications avec Ingress, les CRD Ing...

L'API de Traefik : inspecter la configuration et sécuriser le tableau de bord

Utiliser l'API REST de Traefik pour inspecter routeurs, services, middlewares et entrypoints, l'e...

Traefik : vue d'ensemble, architecture et premier déploiement

Découvrir Traefik : reverse proxy et load balancer cloud-native, entrypoints, routers, services, ...

Traefik : les providers (Docker, Kubernetes, Nomad, Consul, fichiers, clés-valeurs)

Les providers alimentent la configuration dynamique de Traefik : découverte des services Docker, ...

Les plugins Traefik : l'exemple de CrowdSec pour bloquer les attaques

Étendre Traefik avec des plugins (catalogue officiel, interpréteur Yaegi), puis protéger ses appl...

Apoyar

♥ APOYAR

Apoya RousselTM Learning

Los cursos, artículos, prácticas y certificados siguen siendo gratuitos y sin publicidad intrusiva. Una contribución libre, por el importe que elijas, financia el alojamiento, los entornos de prácticas y nuevos contenidos.

Contribuir con PayPal Importe libre · tarjeta o cuenta PayPalMás información
QR code PayPal
O escanea este código QR con tu teléfono

¡Gracias, cada contribución cuenta!