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[]
86 changes: 86 additions & 0 deletions modules/concepts/pages/observability/telemetry.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
= Telemetry signals in operators

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

* Console logs in plain and JSON format
* File logs in JSON format (with the option of Rolling files)
* OpenTelemetry logs exported via OTLP
* OpenTelemetry traces exported via OTLP

Every subscriber 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 as well as their default and supported values.
If the Helm values explained below are not overridden, the following operator defaults apply:

* Levels for all signals are set to `INFO`.
* Console logs are enabled
* File logs are disabled
* File logs rotation period is set to `Never`
* File logs max files is unset
* OpenTelemetry logs and traces are disabled
* OTLP endpoints are set to `http://localhost:4317`
====

== 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 a log aggregation system, 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