HTTPを設定する
HTTPは、Collectorの個々のレシーバーまたはエクスポーター内で調整できるさまざまな設定を公開しています。
HTTPクライアントを設定する
エクスポータで HTTP クライアントを設定するには、以下を実行してください。
-
endpointします。この接続のアドレスとポート -
tlsします。「Configure TLS」を参照してください。 -
headersします。HTTP リクエストヘッダーに追加される名前と値のペア-
Content-LengthやConnectionのような特定のヘッダーは、必要に応じて自動的に書き込まれます。
-
Hostヘッダーは、エンドポイント値から自動的に導出されます。しかしこの自動割り当ては、Hostフィールドをheadersフィールドに明示的に設定することで上書きできます。 -
Hostヘッダーが提供されている場合、RequestのHostフィールドが上書きされます。詳細については、「Go のリクエスト」を参照してください。
-
-
read_buffer_size-
詳細については、「Go のトランスポート」を参照してください。
-
-
timeout-
詳細については、「Go のクライアント」を参照してください。
-
-
write_buffer_size-
詳細については、「Go のトランスポート」を参照してください。
-
-
compressionします。使用する圧縮タイプ-
圧縮タイプの有効な値は、
deflate、gzip、snappy、zlib、zstd、noneです。 -
圧縮が
noneに設定されている場合、すべてのデータは非圧縮として扱われ、それ以外の入力はエラーとなります。
-
-
max_idle_conns-
詳細については、「Go のトランスポート」を参照してください。
-
-
max_idle_conns_per_host-
詳細については、「Go のトランスポート」を参照してください。
-
-
max_conns_per_host-
詳細については、「Go のトランスポート」を参照してください。
-
-
idle_conn_timeout-
詳細については、「Go のトランスポート」を参照してください。
-
-
authします。「Configure authentication」を参照してください。 -
disable_keep_alives-
詳細については、「Go のトランスポート」を参照してください。
-
-
http2_read_idle_timeout-
詳細については、「Go のトランスポート」を参照してください。
-
-
http2_ping_timeout-
詳細については、「Go のトランスポート」を参照してください。
-
-
cookies-
[
enabled] として登録されます。有効にすると、クライアントはサーバーのレスポンスからクッキーを保存し、以降のリクエストで再利用します。 -
詳細については、「Go の CookieJar タイプ」を参照してください。
-
例:
exporter:
otlphttp:
endpoint: otelcol2:55690
auth:
authenticator: some-authenticator-extension
tls:
ca_file: ca.pem
cert_file: cert.pem
key_file: key.pem
headers:
test1: "value1"
"test 2": "value 2"
compression: zstd
cookies:
enabled: true
HTTP サーバーを設定する
HTTP サーバーを Collector レシーバで設定するには、以下を実行してください。
-
corsします。レシーバが異なるオリジンでホストされている場合でも、レシーバがウェブブラウザからのトレースを受け付けるように CORS を設定します。-
空白のままか、
nullに設定されている場合、CORSは有効ではありません。 -
CORS パラメータのリストを参照してください。
-
allowed_originsします。受信者に要求を送信できる送信元のリスト。送信元には、0 文字以上を置き換えるワイルドカード*を含めることができます。任意の発信元を許可するには、["*"]を設定します。発信元がリストされていない場合、CORS は有効になりません。 -
allowed_headersします。デフォルトのセーフリスト外のヘッダーを CORS 要求に含めることを許可します。デフォルトでは、セーフリストヘッダーと X-Requested-With が許可されます。すべてのリクエストヘッダーを許可するには、["*"]に設定します。 -
max_ageします。Access-Control-Max-Ageヘッダーの値を設定して、クライアントが CORS プリフライト要求への応答をキャッシュできるようにします。設定されていない場合、ブラウザはデフォルトの 5 秒を使用します。詳しくは「Access-Control-Max-Age」をご確認ください。
-
-
-
endpoint-
有効な構文については「gRPC Name Resolution」を参照してください。
-
-
max_request_body_sizeします。デフォルトは20971520(20MiB)です。1 回のリクエストで許可されるボディの最大サイズをバイト数で設定します。 -
compression_algorithms -
tlsします。「Configure TLS」を参照してください。 -
authします。「Configure authentication」を参照してください。-
request_paramsします。HTTP ヘッダーとともに認証コンテキストに追加するクエリパラメータ名のリスト。
-
例:
receivers:
otlp:
protocols:
http:
include_metadata: true
auth:
request_params:
- token
authenticator: some-authenticator-extension
cors:
allowed_origins:
- https://foo.bar.com
- https://*.test.com
allowed_headers:
- Example-Header
max_age: 7200
endpoint: 0.0.0.0:55690
compression_algorithms: ["", "gzip"]
processors:
attributes:
actions:
- key: http.client_ip
from_context: X-Forwarded-For
action: upsert
さらに詳しく
利用可能な設定について、詳しくは OpenTelemetry の GitHub レポジトリより「HTTP Configuration Settings」をご確認ください。