6

I am trying to understand if there is any significant difference between the two. While looking at the example, I have noticed that it uses exactly the same binary and args (https://github.com/open-telemetry/opentelemetry-collector/blob/main/examples/demo/docker-compose.yaml). The only difference is the config files which have some difference in exporters/recivers. So the difference only is what endpoint is used to collect/send traces?

Adam
  • 121
  • 10
  • Hi Adam. I have stumbled on exactly this question. I understand some with the selected answer but it is still not clear to me. Have you gained more knowledge about the differences since you posted your question. It still feels like agent vs collector is about configuration. Is there any behavior differences. Thanks. – Umut Feb 06 '23 at 20:20

1 Answers1

6

No, although the binary is same there is a difference in terms of deployment. The agent is collector instance running on the same host as application that emits the telemetry data. Agent then forwards this data to a Gateway (One or more instances of collectors which receive data from multiple agents). And then data is send to configured backends (Jaeger, Zipkin, Private vendors etc...)

Srikanth Chekuri
  • 1,944
  • 1
  • 9
  • 19
  • So to sum up: agent receives traces and sends them to a collector; the collector gets traces from agents and sends them to the backend? Are there any specific settings that have to be provided to say that one is a collector or agent? – Adam May 31 '21 at 17:24
  • The receiver and exporter configuration would differ between agent and gateway. Exporter of the agent would be the gateway. Exporter of the gateway would be backend (Jaeger, Zipkin, Private Vendors, etc) – bruce szalwinski Oct 19 '22 at 02:55