RousselTMLEARNING

Article · Elasticsearch : de la découverte à l'expertise

OpenTelemetry et Elasticsearch : compatibilité et architecture

1. Elasticsearch et OpenTelemetry #

Une compatibilité devenue native.

Le contexte #

OpenTelemetry (OTel) est le standard ouvert de collecte des traces, métriques et logs. Elastic a donné son schéma ECS au projet en 2023 pour converger avec les conventions sémantiques OTel, puis a rendu Elasticsearch capable de stocker les données OTel telles quelles, sans conversion, et publie sa propre distribution EDOT (Elastic Distribution of OpenTelemetry : Collector et SDK).

Selon la version : le stockage OTel natif est arrivé en préversion avec Elastic 8.16 puis s'est généralisé en 9.x ; l'endpoint OTLP géré est proposé sur Elastic Cloud (Serverless puis Hosted). Vérifiez la matrice de compatibilité de votre version.

Trois chemins #

Collector, endpoint OTLP géré ou APM Server.
CheminStockageQuand
Collector (EDOT ou contrib) + exportateur elasticsearchOTel natif (ou ECS)Auto-hébergé, contrôle complet du pipeline
Endpoint OTLP géréOTel natifElastic Cloud : rien à exploiter côté réception
APM Server (OTLP)Converti en ECSExistant APM Elastic, agents APM classiques

2. Stockage et data streams #

OTel natif ou ECS.

Modes de stockage #

Mode otel, mode ecs et data streams.

En mode otel, les attributs de ressource restent sous resource.attributes.* et ceux des signaux sous attributes.* : les requêtes et les tableaux de bord OpenTelemetry existants s'appliquent directement. Le mode ecs traduit vers les champs ECS (service.name, host.name), utile pour réutiliser des tableaux de bord Elastic historiques.

Configuration de référence #

receivers:
  otlp:
    protocols:
      grpc: { endpoint: 0.0.0.0:4317 }
      http: { endpoint: 0.0.0.0:4318 }
processors:
  batch: {}
  resource:
    attributes:
      - { key: deployment.environment, value: lab, action: upsert }
exporters:
  elasticsearch:
    endpoint: https://es.exemple.fr:9200
    api_key: ${env:ES_API_KEY}
    mapping:
      mode: otel
service:
  pipelines:
    traces:  { receivers: [otlp], processors: [resource, batch], exporters: [elasticsearch] }
    metrics: { receivers: [otlp], processors: [resource, batch], exporters: [elasticsearch] }
    logs:    { receivers: [otlp], processors: [resource, batch], exporters: [elasticsearch] }
Bonne pratique : Créez une clé d'API dédiée au Collector, limitée à l'écriture dans logs-*, metrics-* et traces-*.

3. Kibana et OpenTelemetry #

Explorer les données.

Où voir les données #

  • Discover et ES|QL sur les data streams *.otel-*.
  • Applications APM / Observability : services, traces, carte des services (avec les métriques APM calculées par le Collector EDOT).
  • Tableaux de bord et alertes sur les métriques OTel.
FROM traces-*.otel-*
| WHERE resource.attributes.service.name == "checkout"
| STATS p95 = PERCENTILE(duration, 95) BY name
| SORT p95 DESC | LIMIT 10
Erreur courante : Utiliser le Collector contrib sans le connecteur ou le processeur APM d'Elastic : les traces sont stockées, mais les vues APM de Kibana (latence, débit, taux d'erreur par service) restent vides. La distribution EDOT inclut ces composants.

📄 OpenTelemetry et Elasticsearch : compatibilité et architecture →

Mon suivi

  • ⏱ Durée estimée : ≈ 6 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

💬 Discussions récentes de la formation

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...

Ingérer des logs OpenTelemetry dans Elasticsearch

Collecter et structurer des logs avec le Collector OpenTelemetry (receiver filelog, opérateurs, p...

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...

Architecture distribuée Elasticsearch : rôles des nœuds, shards, répliques et allocation

Comprendre le fonctionnement distribué d'Elasticsearch : rôles des nœuds, nœuds master et quorum,...

Architecture OpenTelemetry : Comprendre les 3 niveaux

Plongée au cœur de l'architecture OpenTelemetry. Apprenez comment les données circulent de l'appl...

Elastic Common Schema (ECS) : le format standard des données Elastic et son rôle dans Elastic SIEM

Comprendre l'Elastic Common Schema (ECS) : format standard des champs dans Elasticsearch, convent...

Logstash : gérer les plugins et adopter Elastic Common Schema (ECS)

Version écrite des leçons vidéo : lister, installer, mettre à jour et embarquer hors ligne les pl...

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !