OTLP Receiver
Receives data via gRPC or HTTP using OTLP
format.
Getting Started
All that is required to enable the OTLP receiver is to include it in the
receiver definitions. A protocol can be disabled by simply not specifying it in
the list of protocols.
receivers:
otlp:
protocols:
grpc:
http:
The following settings are configurable:
Advanced Configuration
Several helper files are leveraged to provide additional capabilities automatically:
Writing with HTTP/JSON
The OTLP receiver can receive trace export calls via HTTP/JSON in addition to
gRPC. The HTTP/JSON address is the same as gRPC as the protocol is recognized
and processed accordingly. Note the serialization format needs to be protobuf JSON.
The HTTP/JSON configuration also provides traces_url_path
, metrics_url_path
, and logs_url_path
configuration to allow the URL paths that signal data needs to be sent to be modified per signal type. These default to
/v1/traces
, /v1/metrics
, and /v1/logs
respectively.
To write traces with HTTP/JSON, POST
to [address]/[traces_url_path]
for traces,
to [address]/[metrics_url_path]
for metrics, to [address]/[logs_url_path]
for logs.
The default port is 4318
. When using the otlphttpexporter
peer to communicate with this component,
use the traces_endpoint
, metrics_endpoint
, and logs_endpoint
settings in the otlphttpexporter
to set the
proper URL to match the address and URL signal path on the otlpreceiver
.
CORS (Cross-origin resource sharing)
The HTTP/JSON endpoint can also optionally configure CORS under cors:
.
Specify what origins (or wildcard patterns) to allow requests from as
allowed_origins
. To allow additional request headers outside of the default
safelist, set allowed_headers
. Browsers can be instructed to
cache responses to preflight requests by setting max_age
.
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