The OpenTelemetry collector is a component you can implement to receive and process your telemetry data before exporting it to New Relic or another observability back-end. Instead of sending data from your apps directly to New Relic, you can first route it to a central collector. This shifts the overhead of managing telemetry away from your apps and moves it into a single component.
Here's an example of the collector as a gateway, but you can also set up the collector as an agent that runs with your application or runs on the same host.
In many cases, the collector is an optional component, but you may need it for a variety of reasons:
- Gather metrics about your infrastructure, for example, capturing CPU usage on the servers hosting your apps.
- Ingest signals in a variety of formats (Jaeger, Prometheus, Fluent Bit, etc.).
- Send data to multiple observability back-ends.
- Transform metrics or change the names of spans before exporting them to an observability back-end.
- Offload the work of sending data over the network when you're running resource-intensive services.
- Enrich telemetry (metrics, traces and logs) with additional metadata.
- Link your OpenTelemetry-instrumented apps to Kubernetes metadata.
To get an overview of the processes inside the collector, as well as deployment options, see the following OpenTelemetry docs:
See these topics for help with different options:
- OpenTelemetry setup for services: Instructions to get you started with instrumentation that lead you to a basic collector example
- Collector for host monitoring: Collector configurations to monitor hosts
- Collector to monitor Kubernetes: Collector configurations so you can see how Kubernetes affects your apps
- General collector configurations: A variety of collector settings