otlpreceiver

package
v0.29.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2021 License: Apache-2.0 Imports: 31 Imported by: 74

README

OTLP Receiver

Receives data via gRPC or HTTP using OTLP format.

Supported pipeline types: traces, metrics, logs

⚠ OTLP metrics format is currently marked as "Alpha" and may change in incompatible way any time.

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 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 55681.

The HTTP/JSON endpoint can also optionally configure CORS, which is enabled by specifying a list of allowed CORS origins in the cors_allowed_origins and optionally headers in cors_allowed_headers:

receivers:
  otlp:
    protocols:
      http:
        endpoint: "localhost:55681"
        cors_allowed_origins:
        - http://test.com
        # Origins can have wildcards with *, use * by itself to match any origin.
        - https://*.example.com
        cors_allowed_headers:
        - TestHeader

Documentation

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.

func (*Config) Unmarshal added in v0.25.0

func (cfg *Config) Unmarshal(componentParser *configparser.Parser) error

Unmarshal a config.Parser into the config struct.

func (*Config) Validate added in v0.24.0

func (cfg *Config) Validate() error

Validate checks the receiver configuration is valid

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.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL