Hello <@U07HJQNGWG1>, I have a question about Open...
# openobserve
m
Hello @Manas (OpenObserve), I have a question about OpenObserve Collector. Is it possible to push logs to OpenObserve via gRPC OTLP while dynamically mapping the Kubernetes label app.kubernetes.io/name to the OpenObserve stream name, creating streams one-by-one automatically?
m
The
stream-name
header on the gRPC OTLP exporter is static - one exporter sends everything to one stream — so you can't dynamically map
<http://app.kubernetes.io/name|app.kubernetes.io/name>
to a stream name through the header alone. Two ways to get what you want: 1. OpenObserve Pipelines (recommended for fully dynamic): Ship everything in over gRPC OTLP, then use a Pipeline with a function that sets the destination stream from the
<http://app.kubernetes.io/name|app.kubernetes.io/name>
label. OpenObserve auto-creates streams on first write, so new apps produce new streams with no manual setup. This is the approach the maintainers point to. 2. Routing connector (Collector-side): If your set of apps is small and stable, use the
routing
connector in the Collector to fan logs into multiple OTLP exporters, each with a static
stream-name
.