Zerobus Ingest OTLP は、ネイティブのOpenTelemetry Protocol (OTLP) エンドポイントが組み込まれているZerobus Ingestサービスです。 カスタム ライブラリを必要とせずに、標準の OpenTelemetry SDK とコレクターを使用して、トレース、ログ、メトリックを Unity カタログ デルタ テーブルに直接プッシュできます。
データを Zerobus Ingest に送信するように OTLP クライアントを構成するには、「 OpenTelemetry (OTLP) クライアントを構成して Unity カタログにデータを送信する」を参照してください。
Azure Databricks では、OTLP 取り込みは Zerobus Ingest の使用量として課金されます。 価格設定や支出の管理方法については「 コスト」をご覧ください。
概念
次の概念は、Zerobus Ingest OTLP のしくみを理解するのに役立ちます。
OTLP の互換性
Zerobus Ingest OTLPは 、OpenTelemetry仕様で定義された標準OTLPコレクタサービスを、gRPCおよびHTTP(Protobuf)の両方で実装しています。 OpenTelemetry SDKやOpenTelemetry Collector、その他の計測ライブラリなど、 OTLP互換のエクスポーターはこのエンドポイントにデータを送信できます。
サポートされるシグナル
Zerobus Ingest OTLPは、テレメトリー 信号 の種類ごとに1つのサービスを公開します。 各信号は OTLP/gRPC および OTLP/HTTP (Protobuf)の両方で利用可能です:
| 信号 | gRPC サービス パス | HTTPパス |
|---|---|---|
| トレース: 分散トレースのスパンは、イベント、リンク、およびステータスを完全にサポートします。 | /opentelemetry.proto.collector.trace.v1.TraceService/Export |
/v1/traces |
ログ: trace_id と span_idを介して、重大度、本文、およびトレースとの相関関係を持つレコードをログに記録します。 |
/opentelemetry.proto.collector.logs.v1.LogsService/Export |
/v1/logs |
| メトリック: 5 つの OTLP メトリックの種類 (ゲージ、合計、ヒストグラム、ExponentialHistogram、Summary) すべて。 | /opentelemetry.proto.collector.metrics.v1.MetricsService/Export |
/v1/metrics |
部分的な成功
Zerobus Ingest OTLP では、OTLP 仕様で定義されている部分的な成功がサポートされます。 要求に有効なレコードと無効なレコードが混在している場合、有効なレコードが取り込まれると、無効なレコードが拒否されます。 応答には、拒否されたレコードの数 (rejected_spans、 rejected_log_records、または rejected_data_points) と、その理由を説明する error_message が含まれます。
Compression
Gzip圧縮は、gRPCとHTTPの両方を介して3つのOTLPサービスすべてでサポートされています。 gRPCの場合は、 grpc-encoding ヘッダーを gzipに設定します。 HTTPの場合、 Content-Encoding ヘッダーを gzipに設定します。 あるいは、OTLPエクスポーターをgzip圧縮に設定する方法もあります。
制限事項
- サポートされているのはOTLP/HTTPのProtobufエンコーディングのみです。 JSONボディのOTLP/HTTPはサポートされておらず、
Content-Typeapplication/jsonのリクエストは拒否されます。 - 各要求は、
x-databricks-zerobus-table-nameヘッダーを使用して指定された 1 つのテーブルを対象とします。 トレース、ログ、メトリックを取り込むには、異なるテーブルを指す個別のエクスポーターを構成します。 - テーブルは、正しいスキーマを使用して事前に作成する必要があります。 ゼロバス取り込みでは、テーブルは作成または変更されません。
- 既定のクォータは、1 秒あたり 10,000 要求です。 より高いクォータが必要な場合は、Databricks の担当者にお問い合わせください。
- 一部のOTLP数値フィールドは、デルタ型にマッピングされると精度が失われたりオーバーフローしたりすることがあります。 数値 精度および符号付き型を参照してください。
- ゼロバスのインジェストクォータの全リストについては、 ゼロバスインジェストクォータをご覧ください。
その他のリソース
- Unity Catalog にデータを送信するための OpenTelemetry (OTLP) クライアントPython例と OpenTelemetry Collector の構成。
- Zerobus 取り込みの OpenTelemetry テーブル リファレンス — テーブル スキーマとデータ マッピングリファレンス。
- OpenTelemetry データのクエリ - スパン、ログ、メトリックに対する SQL クエリの例。
- Zerobus Ingest クォータ