Visibility
You sample away the answer.
Budgets force drop rules and 1-in-100 sampling. The event that explains the incident is statistically the one you threw out.
One endpoint for every log, metric, trace and event. Schema-less ingest at petabyte scale, sub-second search across all of it, and a bill you can predict before you send the first byte.
1['api-gateway-prod']2| where status >= 500 and ['geo.region'] == "us-east-1"3| extend route = tostring(attributes['http.route'])4| summarize errors = count(), p95 = percentile(latency, 95) by route5| order by errors desc | take 6| route | errors | p95 (ms) |
|---|---|---|
| /v1/checkout | 12,318 | 1,842 |
| /v1/payments/intent | 9,247 | 612 |
| /v1/cart/sync | 2,698 | 388 |
| /v1/session | 1,852 | 287 |
| /v1/search | 1,505 | 157 |
| /v1/webhooks/stripe | 789 | 143 |
Handling machine data at scale for
The wall
Cost scales faster than value. Retention turns into a ticket queue. Every new source is another pipeline to own — and the team keeping the stack alive keeps growing.
Visibility
Budgets force drop rules and 1-in-100 sampling. The event that explains the incident is statistically the one you threw out.
Cost
Indexing tiers, per-host agents, egress, rehydration. Finance can't forecast it and engineers stop instrumenting to survive it.
Operations
Shard rebalancing, schema migrations, capacity planning, and a pager for the observability stack itself.
Drop rules and sampling are cost controls masquerading as architecture. The one event that explains the outage is, statistically, the one that never made it to storage.
93%
of logs never queried
1 in 100
typical sample rate
4.2 hrs
median MTTR with gaps
Platform
Schema-less ingest on a fully managed event store with 96% compression. Keep every log and every dimension, for as long as you want, without standing up a cluster to do it.
Live tail runs your filter against events as they land — before indexing, before rollups. Point it at a production firehose, narrow by any field, and watch matches arrive in well under a second.
A single HTTPS ingest API plus drop-in SDKs. OpenTelemetry, Vector, Fluent Bit, syslog and Kafka land in the same store.
POST /v1/ingest/:dataset
Send whatever JSON you have. Fields are discovered at ingest and typed at query time — no migrations, no mapping conflicts.
4,096 fields per dataset
Streaming search over the write path. Filter a production firehose by field and watch matches arrive in under a second.
WebSocket · < 800ms lag
Any saved query becomes a threshold or anomaly monitor, routed to PagerDuty, Slack, Opsgenie or a signed webhook.
1m evaluation floor
Composable charts backed by the same query language, with template variables, shared time range and public snapshots.
as-code via Terraform
Org, dataset and field-level RBAC, SSO/SAML, scoped API tokens, and PII redaction applied before the byte is stored.
SOC 2 Type II · HIPAA
Query language
A piped, sequential query language on a purpose-built columnar store. The expressiveness power users expect, on infrastructure you can actually afford to feed.
1['production-logs']2| where ['status'] in ("400", "500")3| extend region = tostring(attributes['aws.region'])4| summarize errors = count(), p95 = percentile(latency, 95) by region5| order by errors desc6| take 5| region | errors | p95 (ms) |
|---|---|---|
| us-east-1 | 12,318 | 1,842 |
| eu-west-1 | 9,247 | 612 |
| ap-southeast-2 | 2,698 | 388 |
| us-west-2 | 1,852 | 287 |
| ap-northeast-1 | 1,505 | 57 |
14.2B events scanned · 0 indexes · 112 ms
Ingest pipeline
Agents, collectors, edge functions and cron jobs all write to the same endpoint. Transformation, redaction and routing happen on the way in — not in a pipeline you maintain.
Batched, compressed, authenticated at the nearest PoP.
Redact, enrich, route and drop with declarative rules.
Immutable blocks on object storage, 96% compressed.
Vectorized scan, live tail, monitors and dashboards.
curl -X POST https://api.logstreem.com/v1/ingest/api-gateway-prod \
-H "Authorization: Bearer $LOGSTREEM_TOKEN" \
-H "Content-Type: application/json" \
-d '[{ "level": "error", "service": "checkout", "latency": 3814,
"attributes": { "http.route": "/v1/checkout", "geo.region": "us-east-1" } }]'Economics
One usage-based dial across logs, traces, metrics and events. No SKU stair-steps, no per-host agents, no overage tier. Per-gigabyte rates fall automatically as volume climbs.
Ingest / month
1 TB
Estimated bill
$371/mo
Same workload · 12-month retention
Modelled on 1 TB/month ingest with full retention and no sampling, using each vendor's published list pricing.
› why did checkout p95 spike at 14:21 UTC?
›
Agents
Agents are already in the on-call rotation. They need to query observability data the way engineers do — with the same language, the same permissions and the same audit trail.
Datasets, schema and the full query language exposed to any MCP-compatible agent — no adapters, no glue code.
Agents run the identical queries your engineers do, so a result in chat is reproducible in the console.
Per-dataset token scopes and field-level redaction apply on every agent call, and each one lands in the audit log.
Use cases
Container logs, serverless invocations, audit trails and product events all land in the same store and answer to the same query language.
Ship stdout, stderr and events from every pod with a DaemonSet collector. Namespace, pod and container labels arrive as first-class fields, so you can slice a noisy cluster without writing a single grok pattern.
Lambda, Cloudflare Workers and Vercel functions emit short-lived, high-cardinality logs. Schema-less ingest keeps every invocation, request id and cold-start marker queryable months later.
Correlate logs, traces and deploy markers on one timeline. Live tail narrows a firehose to the failing request while the incident is still open, instead of after the rehydration job finishes.
Immutable retention up to 400 days with field-level redaction on ingest, so access logs and admin actions satisfy SOC 2 and HIPAA evidence requests without a second archive product.
Keep detections in your SIEM and move the bulk tier here. Ingest costs drop by an order of magnitude while the raw events stay searchable and exportable to your own bucket.
Signups, checkouts and feature flags are events too. One store for machine data and product analytics means the same query language answers both engineering and revenue questions.
Integrations
Drop-in compatibility with the collectors and agents you run today. Most migrations are a URL and a token.
Compliance & controls
Pricing
Everything, capped. No card, no expiry.
Usage-based, with volume discounts applied in-console.
billed annually
For regulated teams with SLOs and auditors.
FAQ
No. Post any JSON object to the ingest endpoint and fields are discovered automatically. Types are resolved at query time, so a field that changes shape six months from now does not break historical queries or force a reindex.
One dial: gigabytes ingested per month, with retention as a multiplier. Queries, dashboards, monitors, seats and egress are included. Per-gigabyte rates drop automatically at each volume tier, so total cost grows sub-linearly.
You choose: expire it, or continuously mirror compressed blocks into your own S3-compatible bucket. Mirrored data stays queryable through the same API — there is no rehydration ticket and no separate archive product.
Yes. Ingest is OpenTelemetry- and Elasticsearch-bulk compatible, so most agents point at a new URL and keep working. Exports are newline-delimited JSON or Parquet straight to your bucket.
A native MCP server exposes datasets, schema and the query language to any compatible agent. Agents use the exact primitives your engineers do, with token scopes and per-dataset permissions enforced on every call.
Ashburn, Portland, Frankfurt, London, Singapore and São Paulo. Data stays in the region you pick, and Enterprise plans can pin residency per dataset.
Sign up in 30 seconds. 50 GB free every month, no credit card, no sales call.