README
¶
OTLP Receiver
Receives data via gRPC or HTTP using OTLP format.
Supported pipeline types: traces, metrics, logs
⚠ OTLP logs format is currently marked as "Beta" and may change in incompatible ways.
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:
endpoint
(default = 0.0.0.0:4317 for grpc protocol, 0.0.0.0:4318 http protocol): host:port to which the receiver is going to receive data. The valid syntax is described at https://github.com/grpc/grpc/blob/master/doc/naming.md.
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 format needs to be protobuf JSON serialization.
To write traces with HTTP/JSON, POST
to [address]/v1/traces
for traces,
to [address]/v1/metrics
for metrics, to [address]/v1/logs
for logs. The default
port is 4318
.
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
Documentation
¶
Overview ¶
Package otlpreceiver receives data in OTLP format.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewFactory ¶ added in v0.6.0
func NewFactory() component.ReceiverFactory
NewFactory creates a new OTLP receiver factory.
Types ¶
type Config ¶
type Config struct { config.ReceiverSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct // Protocols is the configuration for the supported protocols, currently gRPC and HTTP (Proto and JSON). Protocols `mapstructure:"protocols"` }
Config defines configuration for OTLP receiver.
type Protocols ¶ added in v0.5.0
type Protocols struct { GRPC *configgrpc.GRPCServerSettings `mapstructure:"grpc"` HTTP *confighttp.HTTPServerSettings `mapstructure:"http"` }
Protocols is the configuration for the supported protocols.