Zerobus Ingestを使用してOpenTelemetryデータを取り込む
Zerobus Ingest OTLPは、Zerobus Ingest サービスに組み込まれたネイティブのOpenTelemetry Protocol(OTLP) エンドポイントです。カスタム ライブラリを必要とせず、標準の OpenTelemetry SDK とコレクターを使用して、トレース、ログ、メトリクスをUnity Catalog Deltaテーブルに直接プッシュできます。
OTLPクライアントを設定してデータをZerobus Ingestに送信するには、 「OpenTelemetry(OTLP)クライアントを設定してデータをUnity Catalogに送信する」を参照してください。
Databricksは、OTLP取り込みをZerobus Ingestの使用量として請求します。価格設定および支出の監視方法については、コストを参照してください。
コンセプト
以下の概念は、Zerobus Ingest OTLPの仕組みを理解する上で役立ちます。
OTLP互換性
Zerobus Ingest OTLPは、gRPCおよびHTTP (Protobuf) の両方を介して、OpenTelemetry仕様で定義されている標準のOTLP Collectorサービスを実装します。OpenTelemetry SDK、OpenTelemetry Collector、その他のインストルメンテーションライブラリなど、OTLP互換のエクスポーターであれば、このEndpointにデータを送信できます。
サポートされている信号
Zerobus Ingest OTLPは、テレメトリ信号タイプごとに1つのサービスを公開します。各信号は、OTLP/gRPCおよびOTLP/HTTP (Protobuf) の両方を介して利用可能です:
信号 | gRPC サービス パス | HTTPパス |
|---|---|---|
トレース :イベント、リンク、ステータスを完全にサポートする分散トレーススパン。 |
|
|
ログ : 重大度、本文、およびトレースとの相関関係を |
|
|
メトリクス : 5 つの OTLP メトリクス タイプすべて: ゲージ、合計、ヒストグラム、指数ヒストグラム、および概要。 |
|
|
部分的な成功
Zerobus Ingest OTLPは、OTLP仕様で定義されている部分的な成功をサポートします。リクエストに有効なレコードと無効なレコードが混在している場合、有効なレコードは取り込まれ、無効なレコードは拒否されます。レスポンスには、拒否されたレコードの数( rejected_spans 、 rejected_log_records 、またはrejected_data_points )と、その理由を説明するerror_messageが含まれます。
圧縮
Gzip 圧縮は、gRPC と HTTP の両方で、3 つの OTLP サービスすべてでサポートされています。gRPC の場合は、grpc-encoding ヘッダーを gzip に設定します。HTTP の場合は、Content-Encoding ヘッダーを gzip に設定します。または、Gzip 圧縮を使用するように OTLP エクスポーターを構成します。
制限事項
- OTLP/HTTP の Protobuf エンコーディングのみがサポートされています。JSON 本文を含む OTLP/HTTP はサポートされておらず、
Content-Typeがapplication/jsonであるリクエストは拒否されます。 - 各リクエストは、
x-databricks-zerobus-table-nameヘッダーを使用して指定された1つのテーブルを対象とします。トレース、ログ、メトリクスを取り込むには、それぞれ異なるテーブルを指す個別のエクスポート設定を行います。 - テーブルは、正しいスキーマで事前に作成しておく必要があります。Zerobus Ingestはテーブルを作成または変更しません。
- デフォルトのクォータは1秒あたり10,000リクエストです。より多くの割り当て量が必要な場合は、Databricksの担当者にご連絡ください。
- 一部の OTLP 数値フィールドは、Delta 型にマッピングされると精度が失われたり、オーバーフローしたりする可能性があります。数値の精度と符号付き型を参照してください。
- Zerobus Ingestの制限事項の全リストについては、「Zerobus Ingestコネクタのクォータ」を参照してください。
その他のリソース
- OpenTelemetry (OTLP) クライアントを設定してデータを Unity Catalog に送信する— Python の例と OpenTelemetry Collector の設定。
- Zerobus Ingest 用の OpenTelemetry テーブルリファレンス— テーブルスキーマとデータマッピングのリファレンス。
- OpenTelemetry データのクエリ— スパン、ログ、メトリクスのSQLクエリの例。
- Zerobus Ingest コネクタのクォータ