Skip to content

docs: Add telemetry documentation page #731

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 14 commits into
base: main
Choose a base branch
from
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[]
72 changes: 72 additions & 0 deletions modules/concepts/pages/observability/telemetry.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
= Telemetry signals in operators

Since SDP 25.7.0, all Stackable operators emit telemetry data in the following ways:

* logs (via console, file, and OTLP export)
* traces (via OTLP export)

Every signal can be toggled and customized using Helm values.
All fields are grouped under the top-level `telemetry` section.

NOTE: 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` - operator defaults to `info`
<3> Enum: `plain, json` - operator defaults to `plain`

== 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` - operator defaults to `info`
<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` - operator defaults to `info`
<3> String: E.g. `my-collector:4317`
Loading