Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Cette fonctionnalité est en version bêta.
Cette page fournit des informations de référence sur les schémas de table OpenTelemetry (OTLP) et le mappage de données utilisés par Zerobus Ingest OTLP.
Schéma de table
Lorsque les données OTLP arrivent, Zerobus Ingest convertit chaque enregistrement de la hiérarchie de ressources/étendue/d’enregistrements OTLP imbriquée en ligne plate et dénormalisée. Les attributs de ressource et les informations d’étendue d’instrumentation sont incorporés directement dans chaque ligne, ce qui rend les données immédiatement interrogeables sans jointures.
Tous les champs d’attribut (, , pour attributes les journaux, resource.attributes pour les métriques) sont stockés sous forme de instrumentation_scope.attributesbodycolonnes. metadataVARIANT
VARIANT est un type semi-structuré dans Delta Lake qui stocke les données JSON tout en préservant les types d’origine.
Chaque enregistrement est augmenté avec des champs spécifiques à Databricks :
| Champ | Description | Origine |
|---|---|---|
record_id |
ID généré par le système pour l’identification unique et le tri chronologique. | Généré en fonction de l’heure |
time |
Horodatage en microsecondes de l’époque Unix. | Horodatage (en microsecondes) dérivé start_time_unix_nano (étendues) ou time_unix_nano (journaux, métriques) |
date |
Colonne de partition de date, pour un filtrage d’intervalle de temps efficace. | Dérivé de time |
service_name |
Colonne de niveau supérieur pour un filtrage efficace par nom de service, tel que défini dans la convention sémantique OTel. | Extrait de resource.attributes["service.name"] |
Mappage de schéma
Zerobus Ingest mappe les données OTLP aux colonnes de table Delta, comme décrit ci-dessous.
Dénormalisation
Dans le protocole OTLP, les données de télémétrie sont imbriquées comme suit.
ResourceSpans (or ResourceLogs, ResourceMetrics)
└── Resource (attributes, schema_url)
└── ScopeSpans (or ScopeLogs, ScopeMetrics)
└── InstrumentationScope (name, version, attributes)
└── Span (or LogRecord, Metric)
Zerobus Ingestion aplatit cette hiérarchie afin que chaque ligne contienne le contexte complet :
-
resource: struct contenant les attributs de ressource (en tant queVARIANT) etdropped_attributes_count. -
resource_schema_url: URL de schéma à partir des ResourceSpans, ResourceLogs ou ResourceMetrics englobants. -
instrumentation_scope: struct contenant le nom d’étendue, la version, les attributs (asVARIANT) etdropped_attributes_count. -
span_schema_url/log_schema_url/metric_schema_url: URL de schéma à partir des étendues englobantes, ScopeLogs ou ScopeMetrics.
Encodage d’ID
trace_id, span_idet parent_span_id sont stockés sous forme de chaînes encodées en minuscules :
-
trace_id: chaîne hexadécimal de 32 caractères (16 octets) -
span_id: chaîne hexadécimal de 16 caractères (8 octets)
Encodage enum
Les valeurs enum (kind, , status.code, aggregation_temporalityseverity_number) sont stockées en tant que noms de chaînes définis dans la spécification OTLP. Par exemple : SPAN_KIND_SERVER, STATUS_CODE_OK, AGGREGATION_TEMPORALITY_DELTA.
Étapes suivantes
- Configurez les clients OpenTelemetry (OTLP) pour envoyer des données au catalogue Unity : configurez un kit SDK OpenTelemetry ou un collecteur pour envoyer des traces, des journaux et des métriques à Zerobus Ingest.
- Interroger des données OpenTelemetry : exemples de requêtes SQL pour explorer vos données de télémétrie.
- Gestion des erreurs d’ingestion zerobus : résolvez les erreurs courantes et les codes d’erreur.
- Limitations du connecteur d’ingestion Zerobus : passez en revue les limites de débit et de rétention pour l’ingestion Zerobus.