OTLPレシーバー
OTLPレシーバーは、gRPCまたはHTTPでOTLPフォーマットのデータを受け取ります。
OTLP レシーバーを使用すると、Collector は OTLP 形式を使用して gRPC または HTTP でデータを受信できます。サポートされているパイプラインは traces、metrics、logs です。詳細については「パイプラインでデータを処理する」を参照してください。
OTLP フォーマットについての詳細は、OTel リポジトリの「OpenTelemetry Protocol Specification」を参照してください。
はじめに
以下の手順に従って、コンポーネントの設定とアクティベーションを行ってください:
-
Splunk Distribution of the OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします。「Get started: Understand and use the Collector」を参照してください。
-
次のセクションで説明するように、OTLP受信機を設定します。
-
Collector を再起動します。
サンプル構成
OTLP レシーバーをアクティブにするには、以下の設定例のように、コレクター設定ファイルの receiversセクションに otlp を追加します:
receivers:
otlp:
protocols:
grpc:
endpoint: "${HOST_LISTEN_INTERFACE}:1234"
http:
endpoint: "${HOST_LISTEN_INTERFACE}:5678"
レシーバーがデータを受信する、endpoint または host:port を指定することができます。
-
endpointのデフォルト値は0.0.0.0:4317for gRPCです -
endpointのデフォルト値は0.0.0.0:4318for HTTP です
有効なシンタックスについては、「gRPC Name Resolution」を参照してください。
次に、受信したいデータタイプの設定ファイルのサービスパイプラインのセクションに、レシーバーを追加します:
service:
pipelines:
traces:
receivers: [otlp]
metrics:
receivers: [otlp]
高度な設定
ヘルパーファイルを使用して、自動的に追加機能を提供できます。詳細については 「Common configuration options」を参照してください。
Protobufペイロード
OTLPはgRPCとHTTPで実装され、ペイロードにはプロトコルバッファのスキーマを使います。
プロトコルバッファは、構造化データをシリアル化する非依存メカニズムです。データをどのように構造化したいかを一度定義すれば、あとは特別に生成されたソースコードを使って、さまざまな言語を使って構造化データを書いたり読んだりすることができます。
詳しくは「Protocol Buffers documentation」を参照してください。
OTLP/gRPC の操作
gRPC を使用する場合、基礎となる gRPC トランスポートを確立した後、OTLP レシーバーはテレメトリデータを含む要求を継続的に受信し始め、各要求に応答する必要があります。詳細については、OTLP/gRPC 仕様にある公式の OpenTelemetry ドキュメントを参照してください。これには、要求、応答、および OTLP/gRPC スロットリングに関する詳細が含まれます。
OTLP/HTTP の操作
HTTP を使用する場合、Protobuf ペイロードをバイナリまたは JSON 形式でエンコードできます。OTLP/HTTP は、HTTP POST リクエストを使用してテレメトリデータをレシーバーに送信します。詳細については、OTLP/HTTP 仕様にある公式の OpenTelemetry ドキュメントを参照してください。これには、エンコーディング、要求、応答、およびスロットリングに関する詳細が含まれます。
OTLP/HTTP 設定は、traces_url_path、metrics_url_path、logs_url_path の設定も提供し、シグナルデータを送信する必要がある URL パスをシグナルタイプごとに変更できるようにします。これらのデフォルトは、それぞれ /v1/traces、/v1/metrics、/v1/logs です。
HTTPでトレースを書き込むには、[address]/[traces_url_path] (トレース用)、[address]/[metrics_url_path] (メトリクス用)、[address]/[logs_url_path] (ログ用)にPOSTします。
OTLP/HTTP エクスポーターでの作業
このコンポーネントとの通信に otlphttpexporter ピアを使用する場合は、otlphttpexporter のtraces_endpoint 、metrics_endpoint、logs_endpoint の各設定を使用して、otlpreceiver のアドレスと URL シグナルパスに一致する適切な URL を設定します。
詳しくは「OTLP/HTTP エクスポータ」を参照してください。
クロスオリジン リソース シェアリング(CORS)の使用
HTTP エンドポイントは、オプションで cors: の下で CORS を設定することもできます:
-
allowed_originsを使って、どのオリジン(またはワイルドカードパターン)からのリクエストを許可するかを指定します。 -
デフォルトのセーフリスト以外のリクエストヘッダーを許可するには、
allowed_headersを設定します。 -
max_ageを設定して、プリフライトリクエストに対するレスポンスをキャッシュするようにブラウザに指示します。
詳細については、https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS を参照してください。
以下のサンプル設定を参照してください:
receivers:
otlp:
protocols:
http:
endpoint: "localhost:4318"
cors:
allowed_origins:
- http://test.com
# Origins can have wildcards with *, use * by itself to match any origin.
- https://*.example.com
allowed_headers:
- Example-Header
max_age: 7200
設定
次の表は、OTLPレシーバーの設定オプションを示しています:
同梱
https://raw.githubusercontent.com/splunk/collector-config-tool/main/cfg-metadata/receiver/otlp.yaml
トラブルシューティング
__ ___ ___ _ ______ _____________ _____ ________ ___ ___ ___ ____ __ ___ ____ ____ __ ______ _____________ ______ ___ ___ ___ ____ __ ___ _________ _____
_________ __ ______ _____________ _____ _________
-
______ _ ____ __ ___ ______ _______ _______
-
_______ ______ ________
_________ __ ___________ _________ ___ ____ _____ _____
-
___ _ ________ ___ ___ _______ _______ _________ _______ __ ______ ________
-
____ ___ ______ ______________ ____ _____ _____ _______ __ ___________ ____ __________ _________ ___ ______ _________ __________ __ _____ ___ ____ _______