Vector is an end-to-end data pipeline designed to collect, process, and route data. This means that Vector serves all roles in building your pipeline. You can deploy it as an agent, sidecar, or aggregator. You combine these roles to form topologies. In this section, we’ll cover each role in detail and help you understand when to use each.
Agent
Daemon
The daemon role is designed to collect all data on a single host. This is
the recommended role for data collection since it is the most efficient use
of host resources. Vector implements a directed acyclic graph topology model,
enabling the collection and processing from multiple services.
Sidecar
The sidecar role couples Vector with each service, focused on data collection
for that individual service only. While the daemon role is recommended, the
sidecar role is beneficial when you want to shift responsibility of data
collection to the service owner. And, in some cases, it can be simpler to
manage.
Aggregator
The Aggregator role is designed for central processing, collecting data from
multiple upstream sources and performing cross-host aggregation and analysis.
For Vector, this role should be reserved for exactly that: cross-host aggregation
and analysis. Vector is unique in the fact that it can serve both as an Agent
and an Aggregator. This makes it possible to distribute processing along the edge
(recommended). We highly recommend pushing processing to the edge when possible
since it is more efficient and easier to manage.
You can install the Vector as an Aggregator on Kubernetes using Helm. For more information about getting started with the Aggregator role, see the Helm install docs.