Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 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
7 changes: 4 additions & 3 deletions modules/concepts/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@
*** xref:operations/graceful_shutdown.adoc[]
*** xref:operations/temporary_credentials_lifetime.adoc[]
** Observability
*** xref:labels.adoc[]
*** xref:logging.adoc[]
*** xref:containerdebug.adoc[]
*** xref:labels.adoc[Labels]
*** xref:logging.adoc[Logging]
*** xref:containerdebug.adoc[Container environment]
*** xref:observability/telemetry.adoc[Telemetry]
** xref:container-images.adoc[]
74 changes: 74 additions & 0 deletions modules/concepts/pages/observability/telemetry.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
= Telemetry signals in operators

Since SDP 25.7.0, all Stackable operators emit multiple signals for telemetry data.
Currently supported signals are:

* Console logs in plain and JSON format
* (Rolling) file logs in JSON format
* OpenTelemetry logs exported via OTLP
* OpenTelemetry traces exported via OTLP
Every signal can be toggled and customized using Helm values.
All fields are grouped under the top-level `telemetry` section.
The following sections describe the available fields their default and supported values.

== Console logs

This signal prints log messages at the selected level and in the selected format to STDOUT.
These logs are useful for quick debugging.
For a more complete debugging experience, we recommend the OpenTelemetry signals.

[source,yaml]
----
telemetry:
consoleLog:
enabled: true # <1>
level: null # <2>
format: null # <3>
----

<1> Boolean: `true, false`
<2> Enum: `error, warning, info, debug, trace`
<3> Enum: `plain, json`

== File logs

This signal writes log messages at the selected level in JSON to (rolling) log file(s).
These logs can be picked up by log aggregation systems, like Vector.

[source,yaml]
----
telemetry:
fileLog:
enabled: false # <1>
level: null # <2>
rotationPeriod: hourly # <3>
maxFiles: 6 # <4>
----

<1> Boolean: `true, false`
<2> Enum: `error, warning, info, debug, trace`
<3> Enum: `never, daily, hourly, minutely`
<4> Unsigned Integer

== OpenTelemetry logs and traces

These two signal export OpenTelemetry logs and traces to OTLP enabled collectors.
These signals can be visualized using tools, like Grafana, Loki, and Jaeger.

[source,yaml]
----
telemetry:
otelLogExporter:
enabled: false # <1>
level: null # <2>
endpoint: null # <3>
otelTraceExporter:
enabled: false # <1>
level: null # <2>
endpoint: null # <3>
----

<1> Boolean: `true, false`
<2> Enum: `error, warning, info, debug, trace`
<3> String: E.g. `my-collector:4317`
Loading