Shape your telemetry before it is stored
Filter noise, enrich context, mask personal data, sample traces and turn logs into metrics at ingest. Obseria Pipeline decides what is stored, where and for how long.Why teams use Obseria Pipeline in Obseria
Cost control at the source
Drop, sample or aggregate low-value data before it reaches storage, so spend follows the value of your telemetry.
Privacy by default
Mask or remove personal data such as emails, IP addresses or tokens at ingest, before anyone can query it.
Consistent context
Enrich every log, metric and span with team, service, environment and deployment attributes in one place.
Obseria Pipeline in three steps
- Step 1
Send telemetry
Point OpenTelemetry SDKs, the OpenTelemetry Collector, the Obseria Agent or Prometheus remote write at Obseria.
- Step 2
Define processing rules
Configure filters, enrichment, masking, sampling and aggregation per data source, service or attribute.
- Step 3
Route to the right tier
Send each stream to the storage tier, retention or destination that fits its value and access pattern.
Capabilities
- Filtering and dropping. Remove debug logs, health checks and duplicate events by attribute, severity or pattern before storage.
- Enrichment. Add ownership, environment, Kubernetes and deployment metadata so every signal can be grouped and assigned.
- PII masking. Mask, hash or remove sensitive fields with rules for common patterns and your own field names.
- Head and tail-based sampling. Keep all traces with errors or high latency and sample routine traffic at a rate you choose.
- Logs to metrics. Aggregate high-volume log streams into metrics with the dimensions you need and keep raw logs only where useful.
- Routing. Route data to storage tiers in Obseria Lake or to additional destinations based on rules you define.
Obseria Pipeline: what you need to know
What is a telemetry pipeline?
A telemetry pipeline, often called an observability pipeline or log pipeline, is the processing layer between the sources that produce telemetry and the systems that store and analyze it. It receives logs, metrics, traces and events, transforms them according to rules and forwards the result to one or more destinations.
Without such a layer, every byte an application emits ends up in storage unchanged. That includes verbose debug output, repetitive health checks, personal data that should never have been logged and high-cardinality attributes nobody queries. A pipeline gives teams a single place to decide what is kept, how it is shaped and where it goes.
Why a telemetry pipeline matters
Telemetry volume grows with every new service, cluster and feature. Costs tend to grow with it, while the share of data that is actually used for troubleshooting stays small. At the same time, data protection rules such as the GDPR require that personal data is minimized and protected, and that is much easier to enforce before data is stored than afterwards.
A pipeline addresses both concerns. Platform teams can reduce noise centrally instead of asking every application team to change its logging. Security and compliance teams get one place to define masking rules. Engineers still get the signals they need, enriched with consistent context.
Typical processing steps
- Filter: drop records by severity, attribute, source or pattern, for example debug logs from production or load balancer health checks.
- Enrich: add attributes such as team, service, environment, region, Kubernetes metadata or the current deployment version.
- Mask PII: redact, hash or remove fields like email addresses, IP addresses, session tokens or customer IDs.
- Sample: use head-based sampling for predictable volume, or tail-based sampling to decide after a trace is complete, keeping traces with errors or unusual latency.
- Aggregate: convert high-volume log streams into metrics, for example request counts per status code and endpoint.
- Route: send each stream to the storage tier, retention period or destination that matches how it is used.
How Obseria Pipeline works
Obseria Pipeline is part of the ingest path of the Obseria platform. It accepts data from OpenTelemetry SDKs and the OpenTelemetry Collector over OTLP, from the optional Obseria Agent and from Prometheus remote write. You do not need to replace your existing instrumentation.
Rules are defined per source, service or attribute and apply to logs, metrics, traces and events alike. Processed data lands in Obseria Lake, the index-free store for all signals, where it can be queried with OQL, PromQL or SQL. Because the pipeline sits in front of storage, filtered data does not add storage cost, and aggregated metrics replace large volumes of raw logs where the detail is not needed.
A simple rule might look like this:
when source == "checkout" and level == "debug"
drop
when attribute exists "user.email"
mask "user.email"
when trace has error or duration > 2s
keep trace
Rules can be tested against sample data before they are activated, and changes are versioned, so teams can review what changed and when.
Tail-based sampling for traces
Head-based sampling decides at the start of a request whether a trace is kept. It is cheap but random, so rare errors may be dropped. Tail-based sampling waits until all spans of a trace have arrived and then decides based on the result. This lets you keep every trace with an error, every trace above a latency threshold and a representative share of normal traffic. Obseria Pipeline supports both approaches, and you can combine them per service.
Telemetry pipeline best practices
- Start by measuring. Look at which sources and attributes produce the most volume before writing rules.
- Mask early. Apply PII rules as close to ingest as possible and treat them as a baseline for all sources.
- Prefer aggregation to deletion. When a log stream is only used for counts, turn it into a metric instead of dropping it.
- Sample by outcome. Keep errors and slow requests, sample routine success paths.
- Review rules regularly. Services change, and rules that made sense last quarter may hide useful data today.
Frequently asked questions
The terms are used interchangeably. Both describe a processing layer that receives logs, metrics, traces and events, transforms them and routes them to storage or other destinations.
No. Obseria Pipeline works with data from OpenTelemetry SDKs, the OpenTelemetry Collector, the optional Obseria Agent and Prometheus remote write. Processing happens on the ingest side.
Yes. You can combine head-based sampling with tail-based sampling, for example to keep all traces with errors or high latency and sample the remaining traffic.
You define rules that redact, hash or remove sensitive fields or patterns at ingest. Masked values are not written to storage in their original form.
Obseria uses usage-based pricing per signal. Data dropped in the pipeline does not add storage cost; see the pricing page for how ingestion is billed.
Ready for observability that delivers answers?
Try every feature free for 14 days, no credit card and no proprietary agents.