メインコンテンツまでスキップ

Zerobus Ingest の OpenTelemetry テーブル参照

備考

ベータ版

この機能はベータ版です。

このページでは、Zerobus Ingest OTLPで使用されるOpenTelemetry(OTLP)テーブルスキーマとデータマッピングに関する参考情報を提供します。

テーブルスキーマ

OTLPデータが到着すると、Zerobus IngestはネストされたOTLP/scope/record階層の各レコードをフラットな非正規化行に変換します。 リソース属性と計測範囲情報は各行に直接埋め込まれているため、結合することなくデータを即座にクエリできます。

すべての属性フィールド(ログの場合はattributesresource.attributesinstrumentation_scope.attributesbody 、メトリクスの場合はmetadata )はVARIANT列として保存されます。VARIANTは Delta Lake の半構造化型で、JSON データを格納しつつ元の型を保持します。

各レコードには、Databricks固有のフィールドが追加されています。

フィールド

説明

ソース

record_id

一意の識別と時間順ソートのための、システム生成ID。

時間に基づいて生成されます

time

Unixエポックからのマイクロ秒単位のタイムスタンプ。

タイムスタンプ(マイクロ秒単位)。 start_time_unix_nano (スパン)またはtime_unix_nano (ログ、メトリクス)から取得。

date

日付パーティション列は、効率的な時間範囲フィルタリングに使用されます。

由来 time

service_name

OTelセマンティック規約で定義されているサービス名による効率的なフィルタリングのための最上位列。

から抽出 resource.attributes["service.name"]

スキーママッピング

Zerobus Ingestは、以下に説明するように、OTLPデータをDeltaテーブルの列にマッピングします。

非正規化

OTLPプロトコルでは、テレメトリデータは次のようにネストされます。

ResourceSpans (or ResourceLogs, ResourceMetrics)
└── Resource (attributes, schema_url)
└── ScopeSpans (or ScopeLogs, ScopeMetrics)
└── InstrumentationScope (name, version, attributes)
└── Span (or LogRecord, Metric)

Zerobus Ingestはこの階層構造を平坦化し、各行に完全なコンテキストが含まれるようにします。

  • resourceリソース属性( VARIANT )とdropped_attributes_countを含む構造体。
  • resource_schema_url: 囲んでいる ResourceSpans、ResourceLogs、または ResourceMetrics のスキーマ URL。
  • instrumentation_scope: スコープ名、バージョン、属性 ( VARIANTとして)、およびdropped_attributes_countを含む構造体。
  • span_schema_url / log_schema_url / metric_schema_url : 囲んでいる ScopeSpans、ScopeLogs、または ScopeMetrics のスキーマ URL。

IDエンコーディング

trace_id``span_idparent_span_idは小文字の16進数エンコードされた文字列として格納されます。

  • trace_id: 32文字の16進数文字列(16バイト)
  • span_id: 16文字の16進数文字列(8バイト)

列挙型エンコーディング

列挙値( kindstatus.codeaggregation_temporalityseverity_number )は、OTLP仕様で定義されている文字列名として格納されます。例えば、 SPAN_KIND_SERVERSTATUS_CODE_OKAGGREGATION_TEMPORALITY_DELTA

次のステップ