Agent
You are viewing the English version of this page because it has not yet been fully translated. Interested in helping out? See Contributing.
The agent collector deployment pattern consists of applications — instrumented with an OpenTelemetry SDK using OpenTelemetry protocol (OTLP) — or other collectors (using the OTLP exporter) that send telemetry signals to a collector instance running with the application or on the same host as the application (such as a sidecar or a daemonset).
Each client-side SDK or downstream collector is configured with a collector location:
- In the app, the SDK is configured to send OTLP data to a collector.
- The collector is configured to send telemetry data to one or more backends.
Example
A concrete example of the agent collector deployment pattern could look as follows: you manually instrument, say, a Java application to export metrics using the OpenTelemetry Java SDK. In the context of the app, you would set the OTEL_METRICS_EXPORTER
to otlp
(which is the default value) and configure the OTLP exporter with the address of your collector, for example (in Bash or zsh
shell):
export OTEL_EXPORTER_OTLP_ENDPOINT=http://collector.example.com:4318
The collector serving at collector.example.com:4318
would then be configured like so:
If you want to try it out for yourself, you can have a look at the end-to-end Java or Python examples.
Tradeoffs
Pros:
- Simple to get started
- Clear 1:1 mapping between application and collector
Cons:
- Scalability (human and load-wise)
- Inflexible
Feedback
Was this page helpful?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!