Skip to content

Latest commit

 

History

History
108 lines (88 loc) · 5.51 KB

File metadata and controls

108 lines (88 loc) · 5.51 KB

OTLP Receiver

Status
Stability development: profiles
beta: logs
stable: traces, metrics
Distributions core, contrib, k8s
Issues Open issues Closed issues

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:

  • endpoint (default = localhost:4317 for grpc protocol, localhost: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. The component.UseLocalHostAsDefaultHost feature gate changes these to localhost:4317 and localhost:4318 respectively. This will become the default in a future release.

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 OTLP JSON.

The HTTP/JSON configuration also provides traces_url_path, metrics_url_path, logs_url_path, and profiles_url_path configurations 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, /v1/logs, and /v1/profiles 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, and to [address]/[profiles_url_path] for profiles. The default port is 4318. When using the otlphttpexporterpeer to communicate with this component, use thetraces_endpoint, metrics_endpoint, logs_endpoint, and profiles_endpointsettings in theotlphttpexporterto set the proper URL to match the address and URL signal path on theotlpreceiver`.

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