Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Questa funzionalità è in versione beta.
Questa pagina fornisce informazioni di riferimento per gli schemi di tabella OpenTelemetry (OTLP) e il mapping dei dati usati da Zerobus Ingest OTLP.
Schema tabella
Quando arrivano i dati OTLP, Zerobus Ingest converte ogni record dalla gerarchia di risorse/ambito/record OTLP annidata in una riga flat denormalizzata. Gli attributi delle risorse e le informazioni sull'ambito di strumentazione vengono incorporati direttamente in ogni riga, rendendo i dati immediatamente eseguibili senza join.
Tutti i campi degli attributi (, , , attributes per i log, resource.attributes per le metriche) vengono archiviati come instrumentation_scope.attributesbodycolonne. metadataVARIANT
VARIANT è un tipo semistrutturato in Delta Lake che archivia i dati JSON mantenendo i tipi originali.
Ogni record viene aumentato con i campi specifici di Databricks:
| Campo | Descrizione | origine |
|---|---|---|
record_id |
ID generato dal sistema per l'identificazione univoca e l'ordinamento ordinato in base al tempo. | Generato in base al tempo |
time |
Timestamp in microsecondi dall'epoca Unix. | Timestamp (in microsecondi) derivato da start_time_unix_nano (intervalli) o time_unix_nano (log, metriche) |
date |
Colonna della partizione di data, per un filtro efficiente dell'intervallo di tempo. | Derivato da time |
service_name |
Colonna di primo livello per un filtro efficiente in base al nome del servizio, come definito nella convenzione semantica OTel. | Estratto da resource.attributes["service.name"] |
Mapping dello schema
Zerobus Ingest esegue il mapping dei dati OTLP alle colonne della tabella Delta, come descritto di seguito.
Denormalizzazione
Nel protocollo OTLP i dati di telemetria sono annidati così.
ResourceSpans (or ResourceLogs, ResourceMetrics)
└── Resource (attributes, schema_url)
└── ScopeSpans (or ScopeLogs, ScopeMetrics)
└── InstrumentationScope (name, version, attributes)
└── Span (or LogRecord, Metric)
Zerobus Ingest rende flat questa gerarchia in modo che ogni riga contenga il contesto completo:
-
resource: uno struct contenente gli attributi della risorsa (comeVARIANT) edropped_attributes_count. -
resource_schema_url: URL dello schema dall'oggetto ResourceSpans, ResourceLogs o ResourceMetrics contenitore. -
instrumentation_scope: uno struct contenente il nome dell'ambito, la versione, gli attributi (comeVARIANT) edropped_attributes_count. -
span_schema_url/log_schema_url/metric_schema_url: URL dello schema dall'oggetto ScopeSpans, ScopeLogs o ScopeMetrics.
Codifica ID
trace_id, span_ide parent_span_id vengono archiviati come stringhe con codifica hex minuscole:
-
trace_id: stringa esadecimale di 32 caratteri (16 byte) -
span_id: stringa esadecimale di 16 caratteri (8 byte)
Codifica enumerazione
I valori di enumerazione (kind, status.code, aggregation_temporality, severity_number) vengono archiviati come nomi di stringa, come definito nella specifica OTLP. Ad esempio: SPAN_KIND_SERVER, STATUS_CODE_OK, AGGREGATION_TEMPORALITY_DELTA.
Passaggi successivi
- Configurare i client OpenTelemetry (OTLP) per l'invio di dati a Unity Catalog: configurare un SDK OpenTelemetry o agente di raccolta per inviare tracce, log e metriche a Zerobus Ingest.
- Eseguire query sui dati OpenTelemetry: query SQL di esempio per l'esplorazione dei dati di telemetria.
- Gestione degli errori di inserimento zerobus: risolvere gli errori comuni e i codici di errore.
- Limitazioni del connettore Zerobus Ingest: esaminare i limiti di velocità effettiva e conservazione per l'inserimento zerobus.