Application Observability with Kubernetes OpenTelemetry Operator
If you deploy your application in Kubernetes you can use the OpenTelemetry Operator to:
- Simplify the deployment and management of OpenTelemetry components in Kubernetes.
- Inject OpenTelemetry instrumentation into Kubernetes workloads and send data to Grafana Cloud.
Set up
Follow the OpenTelemetry Operator documentation to set up the OpenTelemetry Operator in your Kubernetes cluster.
Kubernetes Monitoring
It’s recommended to use Kubernetes (Alloy) as a starting point for monitoring your Kubernetes cluster.
Skip the optional step to install the OpenTelemetry Collector and use the OTLP endpoint provided by the Kubernetes Alloy configuration.
Grafana OpenTelemetry SDK distributions
You can custom Docker images of Grafana OpenTelemetry SDK distributions to instrument applications with the OpenTelemetry Operator.
The OpenTelemetry Operator documentation lists all upstream and community supported languages.
Java example
The follow example shows you how to use the Grafana Labs distribution of the OpenTelemetry SDK for Java (JVM) with the OpenTelemetry Operator.
Follow the OpenTelemetry Operator Java documentation and add the following to the Kubernetes Instrumentation
manifest to use the Grafana Java SDK:
spec:
java:
image: us-docker.pkg.dev/grafanalabs-global/docker-grafana-opentelemetry-java-prod/grafana-opentelemetry-java:2.3.0-beta.1
exporter:
..
If you use the OpenTelemetry Operator Helm chart, set the
image using helm instead of manually editing the Instrumentation
manifest.
helm upgrade opentelemetry-operator open-telemetry/opentelemetry-operator --set manager.autoInstrumentationImage.java.repository=us-docker.pkg.dev/grafanalabs-global/docker-grafana-opentelemetry-java-prod/grafana-opentelemetry-java,manager.autoInstrumentationImage.java.tag=2.3.0-beta.1
Note
The docker tag2.3.0-beta.1
corresponds is exactly the same as the version of the release page with thev
prefix removed.