Skip to content

Adding documentation on otel with vector#835

Open
Maleware wants to merge 7 commits into
mainfrom
docs/otel-with-vector
Open

Adding documentation on otel with vector#835
Maleware wants to merge 7 commits into
mainfrom
docs/otel-with-vector

Conversation

@Maleware
Copy link
Copy Markdown
Member

This PR adds documentation about how to connect otel logs emitted by operators to a vector sink matching the product logs.

@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 16, 2026

Deploy Preview for stackable-docs ready!

Name Link
🔨 Latest commit 3c4d60f
🔍 Latest deploy log https://app.netlify.com/projects/stackable-docs/deploys/6a203f2bc8e313000842fcdd
😎 Deploy Preview https://deploy-preview-835--stackable-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@Maleware Maleware marked this pull request as ready for review April 17, 2026 07:10
@Maleware Maleware moved this to Development: Waiting for Review in Stackable Engineering Apr 17, 2026
@xeniape xeniape self-requested a review April 20, 2026 13:15
@xeniape xeniape moved this from Development: Waiting for Review to Development: In Review in Stackable Engineering Apr 20, 2026
Copy link
Copy Markdown
Member

@Techassi Techassi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nicely done, just two small comments.

Comment thread modules/concepts/pages/observability/telemetry.adoc Outdated
Comment thread modules/concepts/pages/observability/telemetry.adoc Outdated
Copy link
Copy Markdown
Member

@xeniape xeniape left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Read it kind of "blind" as a non-expert, so maybe my confusions/questions could be used improve the documentation for other users not familiar with the topic. Keeping that in mind, my suggestions might not be the best, they are no blockers :)


== OpenTelemetry with Vector

OpenTelemetry signals can be configured to behave like xref:logging.adoc[product logging]. Using the {vector-helm-chart}[vector helmChart] requires to configure `containerPorts` and `service.ports` as well as `customConfig.sources.otel`:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does "behave like product logging" mean exactly? A short explanation what that refers to, would be nice.


== OpenTelemetry with Vector

OpenTelemetry signals can be configured to behave like xref:logging.adoc[product logging]. Using the {vector-helm-chart}[vector helmChart] requires to configure `containerPorts` and `service.ports` as well as `customConfig.sources.otel`:
Copy link
Copy Markdown
Member

@xeniape xeniape Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
OpenTelemetry signals can be configured to behave like xref:logging.adoc[product logging]. Using the {vector-helm-chart}[vector helmChart] requires to configure `containerPorts` and `service.ports` as well as `customConfig.sources.otel`:
OpenTelemetry signals can be configured to behave like xref:logging.adoc[product logging]. Using the {vector-helm-chart}[Vector Helm Chart{external-link-icon}^] requires to configure the Helm values `containerPorts`, `service.ports`, and `customConfig.sources.otel`:

Copy link
Copy Markdown
Member

@xeniape xeniape Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adjusted the suggestion to include the external link indicator for the external Helm Chart

Comment thread modules/concepts/pages/observability/telemetry.adoc Outdated
telemetry:
otelLogExporter:
enabled: true
endpoint: http://vector-aggregator.<namespace>.svc.cluster.local:4317
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, if there is a specific reason why this port was used and not otel-http for example, even though they are defined in Vector, feel free to elaborate why. If any of them can be used, maybe the above sentence can be adjusted to reflect that.

Copy link
Copy Markdown
Member Author

@Maleware Maleware Jun 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The way I understood it, you can choose whatever port you want as long as you expose it in the aggregator.yaml shown above.

I understood that the gRPC standard port is 4317 and thus I kept the convention. Technically you could choose anything. I'm now not sure, I'd like to preserve some kind of convention and story throughout the guide. I think we could introduce <gRPC-port> and <http-port> if you like it better?

endpoint: http://vector-aggregator.<namespace>.svc.cluster.local:4317
----

=== Normalizing operator logs to the Stackable log schema
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a bit confused, above the sections starts with OpenTelemetry signals (but behaving like logs?), but here the subsection is about logs, so something different? So either that's something general for logs, so maybe needs to be a separate 2nd level section (==) or at least for me it needs a bit more of an explanation connecting the two concepts here.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch, hope it's better now: Adressed with 3c4d60f

Comment thread modules/concepts/pages/observability/telemetry.adoc Outdated

=== Normalizing operator logs to the Stackable log schema

Operators do not run vector sidecars. Using OpenSearch, a VRL transform that maps the OTLP fields onto the
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VRL? I think the abbrevation written out (or written out in parentheses next to it) would be more useful for people not knowing what that is (me :D)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vector Remap Language. I shall do, thanks

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adressed with 3c4d60f

Operators do not run vector sidecars. Using OpenSearch, a VRL transform that maps the OTLP fields onto the
xref:tutorials:logging-vector-aggregator.adoc#_watch_the_logs[Stackable log schema] is needed to avoid re-indexing:

[source,yaml]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these Helm values for Opensearch now? (Because of "using Opensearch" above) Maybe this also needs a linked Helm Chart then or mentioning that it's our own Opensearch Operator Helm Chart? And a clarification where to set the values.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you mean the following customConfig ?

If so, no. It's a map that defines how to map otel log fields so they fit the same schema as stackable products would look like. Open search is just a very good example for a indexed backend. Since it's in our stack you are right that we might wanna hint it here. I'll fix it.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adressed with 3c4d60f

Comment thread modules/concepts/pages/observability/telemetry.adoc Outdated

<1> The `opentelemetry` source fans out into `otel.logs`, `otel.metrics`, and
`otel.traces`. Unconsumed sub-streams produce a startup warning.
<2> Operators emit `service.name` (e.g. `stackable-airflow-operator`) as their
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is service.name correct here? Or should it be service_name like in the line it references?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's service.name from the operator pov and only caught here as service_name as I don't want an attribute to the type service but rather something storing away that information

Maleware and others added 3 commits June 3, 2026 16:06
Co-authored-by: Techassi <git@techassi.dev>
Co-authored-by: Xenia <xeniafischer@hotmail.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Development: In Review

Development

Successfully merging this pull request may close these issues.

3 participants