Application Observability OpenTelemetry Collector
Applications may send telemetry data directly to the Grafana Cloud OTLP endpoint, but it is recommended to run Grafana Alloy or OpenTelemetry Collector for several reasons:
- Reliability: Grafana Alloy or OpenTelemetry Collector buffer data during issues with the remote endpoint, ensuring transmission after recovery. Without a data collector you could lose data.
- Cost control: Grafana Alloy aggregates and drops telemetry data to only send relevant data and reduce costs.
- Flexibility: Grafana Alloy simplifies changes to the telemetry destination. Users update the Alloy configuration rather than restarting applications, which is necessary for direct OTLP writing.
Two options exist: Grafana Alloy or the OpenTelemetry Collector. Both work with Application Observability, but Grafana support only extends to Grafana Alloy.
We recommend Grafana Alloy (formerly Grafana Agent), a vendor-neutral distribution of the OpenTelemetry (OTel) Collector. Grafana Alloy is supported by Grafana and allows you to have a seamless correlation between Application and Infrastructure observability.
Grafana Alloy
Consult the Grafana Alloy documentation for the recommended and supported way to send telemetry data for infrastructure and applications to Grafana Cloud.
Grafana Alloy for Kubernetes
If your application is deployed in Kubernetes, it is recommended to deploy Grafana Alloy using the Kubernetes Monitoring helm chart and take advantage of both Application Observability and Kubernetes Monitoring solutions.
Consult the Kubernetes Monitoring with Grafana Alloy documentation for more information.
OpenTelemetry Collector
Alternatively, consult the Grafana OpenTelemetry Collector documentation to use the community supported OpenTelemetry Collector to send telemetry data to Grafana Cloud.
Kubernetes OpenTelemetry Operator
If you host your application in Kubernetes, you can use the OpenTelemetry Operator to automatically instrument your application without modifying all the services manually, and send telemetry data to Grafana Cloud.
The OpenTelemetry Operator is a Kubernetes operator that:
- Simplifies the deployment and management of OpenTelemetry components in Kubernetes.
- Can automatically inject OpenTelemetry instrumentation into Kubernetes workloads.