How data flows
- Sources accept incoming data — TCP binary for native SDKs (the Tell protocol, fastest path), HTTP with JSONL or binary support for web apps, syslog for infrastructure logs
- Routing rules match each batch by source name or type and determine which sinks receive it
- Transforms (optional) modify data in-flight — redact PII, extract log patterns, filter events
- Sinks write data to storage — ClickHouse for analytics, disk for archival, or forward to another Tell instance
Minimal configuration
A working pipeline needs one source, one sink, and a routing rule:Sources
Sources listen for incoming data. You can run multiple sources at the same time.Routing
Routing rules decide which sinks receive which data. Rules match by source name or source type. The first matching rule wins. Unmatched data goes to the default sinks.Transforms
Transforms process data between routing and sinks. They’re configured per routing rule and applied in order.
See Transforms for configuration details.
Sinks
Sinks write data to storage or forward it elsewhere.Backpressure
If a sink can’t keep up, Tell drops batches for that sink rather than blocking the entire pipeline. Other sinks continue receiving data normally. Backpressure events are tracked in pipeline metrics and logged — checktell status --metrics to spot sinks that are falling behind.