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
Section titled “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
Section titled “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.
A route can only send to destinations activated where it runs. A route on a collector can use destinations activated on that collector or on a group it belongs to. A route on a group can use destinations activated on the group or on its members. Saving a route that names any other destination is refused.
Where it lives
Section titled “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
Section titled “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
- Capture live samples — tap a route to see the real records flowing through it right now