Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
237 changes: 213 additions & 24 deletions modules/distr-tracing-config-otel-collector.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -73,41 +73,19 @@ If a component is configured, but not defined within the `service` section then
|Parameter |Description |Values |Default
|receivers:
|A receiver is how data gets into the Collector. By default, no receivers are configured. There must be at least one enabled receiver for a configuration to be considered valid. Receivers are enabled by being added to a pipeline.
|`otlp`, `jaeger`
|`otlp`, `jaeger`, `zipkin`
|None

|receivers:
otlp:
|The `oltp` and `jaeger` receivers come with default settings, specifying the name of the receiver is enough to configure it.
|
|

|processors:
|Processors run on data between being received and being exported. By default, no processors are enabled.
|
|None

|exporters:
|An exporter sends data to one or more backends/destinations. By default, no exporters are configured. There must be at least one enabled exporter for a configuration to be considered valid. Exporters are enabled by being added to a pipeline. Exporters may come with default settings, but many require configuration to specify at least the destination and security settings.
|`logging`, `jaeger`, `prometheus`,
|`otlp`, `otlphttp`, `jaeger`, `logging`, `prometheus`
|None

|exporters:
jaeger:
endpoint:

|The `jaeger` exporter’s endpoint must be of the form `<name>-collector-headless.<namespace>.svc`, with the name and namespace of the Jaeger deployment, for a secure connection to be established.
|
|

|exporters:
jaeger:
tls:
ca_file:
|Path to the CA certificate. For a client this verifies the server certificate. For a server this verifies client certificates. If empty uses system root CA.
|
|

|service:
pipelines:
|Components are enabled by adding them to a pipeline under `services.pipeline`.
Expand Down Expand Up @@ -162,3 +140,214 @@ If a component is configured, but not defined within the `service` section then
|
|None
|===

== OpenTelemetry Collector components

=== Receivers

==== OTLP Receiver

OTLP receiver ingests data using the OpenTelemetry protocol (OTLP).

* Support level: link:https://access.redhat.com/support/offerings/techpreview[Technology Preview]
* Supported signals: traces, metrics

.OpenTelemetry collector custom resource with enabled OTLP receiver
[source,yaml]
----
config: |
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317 <1>
http:
endpoint: 0.0.0.0:4318 <2>
tls: <3>
ca_file: ca.pem
cert_file: cert.pem
key_file: key.pem

service:
pipelines:
traces:
receivers: [otlp]
metrics:
receivers: [otlp]
----
<1> The OTLP gRPC endpoint. If omitted the default `+0.0.0.0:4317+` is used.
<2> The OTLP HTTP endpoint . If omitted the default `+0.0.0.0:4318+` is used.
<3> The TLS server side configuration. Defines paths to TLS certificates. If omitted TLS is disabled.

==== Jaeger Receiver

Jaeger receiver ingests data in Jaeger formats.

* Support level: link:https://access.redhat.com/support/offerings/techpreview[Technology Preview]
* Supported signals: traces

.OpenTelemetry collector custom resource with enabled Jaeger receiver
[source,yaml]
----
config: |
receivers:
jaeger:
protocols:
grpc:
endpoint: 0.0.0.0:14250 <1>
thrift_http:
endpoint: 0.0.0.0:14268 <2>
thrift_compact:
endpoint: 0.0.0.0:6831 <3>
thrift_binary:
endpoint: 0.0.0.0:6832 <4>
tls: <5>

service:
pipelines:
traces:
receivers: [jaeger]
----
<1> The Jaeger gRPC endpoint. If omitted the default `+0.0.0.0:14250+` is used.
<2> The Jaeger Thrift HTTP endpoint. If omitted the default `+0.0.0.0:14268+` is used.
<3> The Jaeger Thrift Compact endpoint. If omitted the default `+0.0.0.0:6831+` is used.
<4> The Jaeger Thrift Binary endpoint. If omitted the default `+0.0.0.0:6832+` is used.
<5> The TLS server side configuration. See the OTLP receiver configuration section for more details.

==== Zipkin Receiver

Zipkin receiver ingests data in the Zipkin V1 and V2 formats.

* Support level: link:https://access.redhat.com/support/offerings/techpreview[Technology Preview]
* Supported signals: traces

.OpenTelemetry collector custom resource with enabled Zipkin receiver
[source,yaml]
----
config: |
receivers:
zipkin:
endpoint: 0.0.0.0:9411 <1>
tls: <2>

service:
pipelines:
traces:
receivers: [zipkin]
----
<1> The Zipkin HTTP endpoint. If omitted the default `+0.0.0.0:9411+` is used.
<2> The TLS server side configuration. See the OTLP receiver configuration section for more details.

=== Exporters

==== OTLP Exporter

OTLP gRPC exporter exports data using the OpenTelemetry protocol (OTLP).

* Support level: link:https://access.redhat.com/support/offerings/techpreview[Technology Preview]
* Supported signals: traces, metrics

.OpenTelemetry collector custom resource with enabled OTLP exporter
[source,yaml]
----
config: |
exporters:
otlp:
endpoint: tempo-ingester:4317 <1>
tls: <2>
ca_file: ca.pem
cert_file: cert.pem
key_file: key.pem
headers: <3>
X-Scope-OrgID: "dev"
service:
pipelines:
traces:
exporters: [otlp]
metrics:
expoters: [otlp]
----
<1> The OTLP gRPC endpoint. If `+https://+` scheme is used then client transport security is enabled and overrides `+insecure+` setting in `+tls+`.
<2> The client side TLS configuration. Defines paths to TLS certificates.
<3> Headers are sent for every RPC performed during an established connection.

==== OTLP HTTP Exporter

OTLP HTTP exporter exports data using the OpenTelemetry protocol (OTLP).

* Support level: link:https://access.redhat.com/support/offerings/techpreview[Technology Preview]
* Supported signals: traces, metrics

.OpenTelemetry collector custom resource with enabled OTLP exporter
[source,yaml]
----
config: |
exporters:
otlphttp:
endpoint: http://tempo-ingester:4318 <1>
tls: <2>
ca_file: ca.pem
cert_file: cert.pem
key_file: key.pem
headers: <3>
X-Scope-OrgID: "dev"

service:
pipelines:
traces:
exporters: [otlphttp]
metrics:
expoters: [otlphttp]
----
<1> The OTLP HTTP endpoint. If `+https://+` scheme is used then client transport security is enabled and overrides `+insecure+` setting in `+tls+`.
<2> The client side TLS configuration. Defines paths to TLS certificates.
<3> Headers are sent in every HTTP request.

==== Jaeger Exporter

Jaeger exporter exports data using the Jaeger proto format through gRPC.

* Support level: link:https://access.redhat.com/support/offerings/techpreview[Technology Preview]
* Supported signals: traces

.OpenTelemetry collector custom resource with enabled Jaeger exporter
[source,yaml]
----
config: |
exporters:
jaeger:
endpoint: jaeger-all-in-one:14250 <1>
tls: <2>
ca_file: ca.pem
cert_file: cert.pem
key_file: key.pem
service:
pipelines:
traces:
exporters: [jaeger]
----
<1> The Jaeger gRPC endpoint.
<2> The client side TLS configuration. Defines paths to TLS certificates.

==== Logging exporter

Logging exporter prints data to the standard output.

* Support level: link:https://access.redhat.com/support/offerings/techpreview[Technology Preview]
* Supported signals: traces, metrics

.OpenTelemetry collector custom resource with enabled Logging exporter
[source,yaml]
----
config: |
exporters:
logging:
verbosity: detailed <1>
service:
pipelines:
traces:
exporters: [logging]
metrics:
exporters: [logging]
----
<1> The verbosity of the logging export (`+detailed+`|`+normal+`|`+basic+`). When set to detailed, pipeline data is verbosely logged. Defaults to `+normal+`.