opentelemetry

Collect logs from Opentelemetry

Type: opentelemetry

Sample YAML

{% code title=”opentelemetry_source.yaml” %}

sources:
  opentelemetry_example:
    type: opentelemetry
    grpc.address: localhost:4317
    http.address: localhost:4318
    route_label: ''
    tls:
      tls.enabled: false
      tls.alpn_protocols: ''
      tls.verify_certificate: true
      tls.verify_hostname: true
      tls.ca_file: ''
      tls.crt_file: ''
      tls.key_file: ''
      tls.key_pass: ''
  # optional:
  #   <key>: <value>

{% endcode %}

Fields Reference

Below are tables for Base, TLS, and Optional sections. Columns: Key, Label, Type, Default, Required, Depends on, Enum / Notes.

Base

Key

Label

Type

Default

Required

Enum / Notes

Depends on

grpc.address

GRPC Address

string

localhost:4317

βœ…

The socket address to listen for connections on.

β€”

http.address

HTTP Address

string

localhost:4318

βœ…

The socket address to listen for connections on.

β€”

route_label

Event Routing Label

string

β€œβ€

β€”

The label to use in routing these events to a destination. Defaults to source name-type.

β€”

TLS

Key

Label

Type

Default

Required

Enum / Notes

Depends on

tls.enabled

TLS Enabled

bool

false

β€”

Whether or not to require TLS for incoming or outgoing connections. When enabled and used for incoming connections, an identity certificate is also required. See tls.crt_file for more information.

mode = tcp

tls.alpn_protocols

ALPN protocols

string

β€œβ€

β€”

Sets the list of supported ALPN protocols. Declare the supported ALPN protocols, which are used during negotiation with peer. They are prioritized in the order that they are defined.

β€”

tls.verify_certificate

Verify Certificate

bool

true

β€”

Enables certificate verification. For components that create a server, this requires that the client connections have a valid client certificate. For components that initiate requests, this validates that the upstream has a valid certificate.

β€”

tls.verify_hostname

Verify Hostname

bool

true

β€”

Enables hostname verification. If enabled, the hostname used to connect to the remote host must be present in the TLS certificate presented by the remote host, either as the Common Name or as an entry in the Subject Alternative Name extension. Only relevant for outgoing connections.

β€”

tls.ca_file

Certificate Authority File

file_ca_file

β€œβ€

β€”

Absolute path to an additional CA certificate file.

β€”

tls.crt_file

Certificate File

file_crt_file

β€œβ€

β€”

Absolute path to a certificate file used to identify this server.

β€”

tls.key_file

Private Key

file_key_file

β€œβ€

β€”

Absolute path to a private key file used to identify this server.

β€”

tls.key_pass

Private Key Passphrase

string

β€œβ€

β€”

Passphrase used to unlock the encrypted key file.

β€”

Optional

Key

Label

Type

Default

Required

Enum / Notes

Depends on

description

Description

string

β€œβ€

β€”

The description of the entry.

β€”

http.headers

HTTP Headers

string

β€œβ€

β€”

A csv list of HTTP headers to include in the log event.

β€”

http.keepalive.max_connection_age_jitter_factor

HTTP Keepalive Max Connection Age Jitter Factor

int

0.1

β€”

The factor by which to jitter the max_connection_age_secs value. A value of 0.1 means that the actual duration will be between 90% and 110% of the specified maximum duration.

β€”

keepalive.max_connection_age_secs

HTTP Keepalive Max Connection Age Secs

int

300

β€”

The maximum amount of time a connection may exist before it is closed by sending a Connection: close header on the HTTP response. Set this to a large value like 100000000 to β€œdisable” this feature.

β€”