1. Le modèle de log OTel #
Corps, sévérité, attributs, contexte.
Les champs #
| Champ OTel | Stocké dans Elasticsearch (mode otel) |
|---|---|
| Body | body.text (body.structured) |
| SeverityText / SeverityNumber | severity_text / severity_number |
| Attributes | attributes.* |
| Resource | resource.attributes.* (service.name, host.name, k8s.pod.name) |
| TraceId / SpanId | trace_id / span_id : lien direct avec la trace |
2. Collecter des fichiers #
Le receiver filelog.
Configuration #
receivers:
filelog:
include: [/var/log/monapp/*.log]
start_at: end
operators:
- type: regex_parser
regex: '^(?P<ts>\S+) (?P<level>[A-Z]+) (?P<msg>.*)$'
timestamp: { parse_from: attributes.ts, layout_type: gotime, layout: '2006-01-02T15:04:05Z07:00' }
severity: { parse_from: attributes.level }
- type: move
from: attributes.msg
to: body
processors:
resource:
attributes:
- { key: service.name, value: monapp, action: upsert }
service:
pipelines:
logs: { receivers: [filelog], processors: [resource, batch], exporters: [elasticsearch] }Bonne pratique : Renseignez toujours service.name : c'est la clé qui relie logs, traces et métriques d'un même service dans Kibana.Kubernetes #
Sur Kubernetes, le Collector en DaemonSet lit /var/log/pods ; le processeur k8sattributes ajoute namespace, pod, déploiement et labels, indispensables pour filtrer.
3. Interroger et maîtriser les volumes #
ES|QL et filtrage.
Requêtes #
FROM logs-*.otel-*
| WHERE severity_text == "ERROR" AND @timestamp > NOW() - 1 hour
| STATS erreurs = COUNT(*) BY resource.attributes.service.name
| SORT erreurs DESCFiltrer à la source #
processors:
filter/debug:
error_mode: ignore
logs:
log_record:
- severity_number < SEVERITY_NUMBER_INFOErreur courante : Envoyer les logs de debug de toute la production : le volume, donc le coût de stockage, explose. Filtrez dans le Collector ou réduisez le niveau dans l'application.
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
💬 Discussions récentes de la formation
- Elasticsearch : supprimer automatiquement les logs de plus de 30 jours✓ résolu · 1 réponse(s)
Poser une question sur cette leçon →Voir toutes les discussions de la formation
Glossaire de la formation
Observabilité
La capacité à connaître l'état interne d'un système à partir des données qu'il émet.Ces données sont classées en 3 piliers : logsmétriquestracesprofil...
Elastic Common Schema (ECS)
Une spécification open source qui permet de structurer vos données de manière homogène dans l'écosystème Elastic.
RBAC (Role-Based Access Control)
Contrôle d'accès basé sur les rôles. Les permissions sont attribuées à des rôles spécifiques (ex: admin, lecteur) plutôt qu'directement aux utilisateu...
Authentification
Processus permettant de vérifier et valider l'identité d'un utilisateur ou d'un système (ex: login/mot de passe, jeton, biométrie).
Autorisation
Processus intervenant après l'authentification pour déterminer si l'entité a les droits et privilèges nécessaires pour accéder à une ressource.
API Key
Clé d'API. Code alphanumérique unique utilisé pour identifier, authentifier et autoriser l'accès à une interface de programmation (API).
Architecture
Conception globale et structurelle d'un système informatique, définissant ses différents composants, leurs relations et les principes guidant son évol...
Repository
Dépôt de stockage centralisé. Peut désigner un dépôt de code source (ex: Git) ou un dépôt d'artefacts et binaires (ex: Harbor, Nexus, Artifactory).
Articles recommandés
Traces OpenTelemetry dans Elasticsearch et Kibana APM
Instrumenter des applications avec les SDK OpenTelemetry ou EDOT, envoyer les traces à Elasticsea...
OpenTelemetry et Elasticsearch : compatibilité et architecture
Envoyer de l'OpenTelemetry vers Elasticsearch : Collector et exportateur elasticsearch, endpoint ...
Métriques OpenTelemetry dans Elasticsearch
Collecter des métriques d'hôte, de Kubernetes et d'applications avec OpenTelemetry, comprendre te...
Elastic Observability : logs, infrastructure, APM et synthétiques
Les fonctions d'Elastic Observability : exploration des logs, inventaire d'infrastructure avec El...
Elastic Agent autonome, sorties Logstash et Kafka, et OpenTelemetry (EDOT)
Écrire une configuration autonome, envoyer vers Logstash ou Kafka, et utiliser Elastic Agent comm...
Les logs avec OpenTelemetry : modèle de données, appenders, corrélation et collecte
Maîtriser le signal log : modèle de données LogRecord, Logs Bridge API et appenders (Logback, Log...
OpenTelemetry et Dynatrace : OTLP, collecteur et instrumentation
Intégrer OpenTelemetry à Dynatrace : endpoint OTLP et jetons, Dynatrace OTel Collector, traces, m...
Monitoring et troubleshooting Elasticsearch : santé, shards non assignés, JVM, hot threads et slow logs
Diagnostiquer un cluster Elasticsearch : cluster health et CAT APIs, shards non assignés et alloc...
Grafana Loki vs Elasticsearch : La bataille du stockage de logs
Comparatif entre Loki, le système de logs inspiré par Prometheus, et Elasticsearch, le moteur de ...