HTTPを設定する 🔗
HTTPは、Collectorの個々のレシーバーまたはエクスポーター内で調整できるさまざまな設定を公開しています。
HTTPクライアントを設定する 🔗
エクスポーター でHTTPクライアントを設定するには、以下の設定を使用します:
注釈
クライアント設定はTLSをサポートしています。詳しくは、TLSを設定する を参照してください。
endpoint
。この接続のアドレスとポートtls
。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
。認証を設定する を参照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サーバーを コレクターレシーバー で設定するには、次の設定を使用します:
cors
。レシーバーが異なるオリジンでホストされている場合でも、レシーバーがウェブブラウザからのトレースを受け付けるようにCORSを設定します。空白のままか、
null
に設定されている場合、CORSは有効ではありません。CORSパラメータ のリストを参照してください。
allowed_origins
。受信側へのリクエスト送信が許可されるオリジンのリスト。オリジンには、0文字以上を置き換えるワイルドカード*
を含めることができます。任意のオリジンを許可するには、["*"]
を設定します。オリジンがリストされていない場合、CORSは有効になりません。allowed_headers
。CORSリクエストに、デフォルトのsafelist 以外のヘッダーを含めることを許可します。デフォルトでは、safelistヘッダーとX-Requested-Withが許可されます。任意のリクエストヘッダーを許可するには、["*"]
に設定します。max_age
。Access-Control-Max-Age
ヘッダーの値を設定し、クライアントが CORS プリフライトリクエストに対する応答をキャッシュできるようにします。設定されていない場合、ブラウザはデフォルトの5秒を使用します。詳しくは Access-Control-Max-Age を参照してください。
endpoint
有効な構文については、gRPC名前解決 を参照してください。
max_request_body_size
。デフォルトでは20971520
(20MiB)。1回のリクエストで許可されるボディの最大サイズをバイト数で設定します。compression_algorithms
tls
。TLSを設定する を参照auth
。認証を設定する を参照request_params
。HTTPヘッダーとともに、認証コンテキストに追加するクエリパラメータ名のリスト。
注釈
カスタムキーを使用して 属性プロセッサー を有効にして任意のhttpヘッダーを付加できます。また、"include_metadata"
を有効にする必要があります。
例:
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
さらに詳しく 🔗
利用可能な設定について詳しくは、OTelのGitHubレポで HTTPコンフィギュレーション設定 を参照してください。