Route
A route is what turns the reusable pipeline recipe into running config on a collector. Each route owns:
- An input filter — an OTTL expression that picks which records reach
the pipeline. The default
trueaccepts everything. See Filter records on a route for how to write one (by source, signal type, or content). - A pipeline reference + optional parameter overrides for that pipeline’s tunables
- A list of destinations — terminal exporters that receive the processed records (fan-out: one route can send the same processed records to many destinations in parallel)
- A priority + an is-final flag that together control Cribl-style first-match-wins evaluation across the routes on a collector
Mental model
Picture the routes on a collector as a switch statement evaluated in priority order. The first route whose input filter matches a record sends that record into its pipeline. If the route is final (default), no later route ever sees that record. If it’s not final, the record keeps flowing down the list and can match additional routes too.
Scope: collector or group
A route is owned by exactly one collector or one Collector Group — never both, never global. Two collectors can reference the same pipeline but each has its own routes wiring its own sources to its own destinations.
When a route is scoped to a group, every collector in the group materialises a copy of it at config-generation time. Adding a new collector to the group automatically picks up the group’s routes; no manual attach.
Where it lives
| Surface | Path |
|---|---|
| UI | Collector detail → Routing tab (or Group detail → Routing) |
| Storage | YAML at gitops/collectors/<collectorID>/routes/<routeID>.yaml (or gitops/groups/<groupID>/routes/… for group-scoped routes) |
| Generated config | Each route renders to its own connector chain in the collector’s OTel config |
See also
- Pipeline — the reusable recipe a route references
- Source — the inbound activations a route’s input filter selects from
- Destination — the egress targets a route fans out to
- Build your first pipeline — ends with attaching the new pipeline to a route