Hi everyone,
Eck-stack version: 8.14.3
I'm using Elastic APM with OpenTelemetry to monitor microservices deployed in Kubernetes. I have the OpenTelemetry Collector configured with the k8sattributes processor to enrich telemetry with Kubernetes metadata.
Current Setup:
OpenTelemetry Collector (daemonset) with k8sattributes processor
Microservices send traces via OTLP to the Collector
Collector forwards enriched data to Elastic APM Server
Data flows to Elasticsearch and is viewed in Kibana APM UI
Issue:
While I can see Kubernetes metadata (like kubernetes.namespace, kubernetes.pod.name) in the raw documents when I query Elasticsearch directly, these fields are not visible or usable for filtering/grouping in the APM UI.
This makes it impossible to distinguish between the same service deployed in different namespaces (e.g., java-api in namespace ns1 vs java-api in namespace ns2).
Questions:
Is there a way to make Kubernetes metadata visible/filterable in the APM UI?
Are there configuration options in APM Server or Kibana to expose these fields?
What are the recommended approaches for multi-namespace microservices monitoring in Elastic APM?
What I've tried:
Confirmed K8s metadata is present in Elasticsearch documents under kubernetes.* and labels.* fields
Can filter by these fields in Kibana Discover, but not in APM UI
APM UI search bar doesn't recognize kubernetes.namespace queries
Any guidance would be greatly appreciated!
Thanks,