# Observability Pricing Models: Ingest, Host, User & Flat-Rate

> How observability vendors charge, explained: ingest, host, user, and flat-rate pricing, hidden fees, a vendor matrix, and worked cost examples.

Source: https://openobserve.ai/blog/observability-pricing-models/
Published: 2026-11-05
Authors: Simran Kumari
Category: Engineering
Tags: Observability, Cost, Comparisons, Monitoring, Logging, OpenObserve

---

**Observability pricing models** are the ways vendors turn your telemetry into a bill: per GB ingested, per monitored host, per user seat, or a flat fee for a capacity band. Most vendors mix two or more. Your model decides which part of your growth (data, infrastructure, or headcount) drives cost, and how hard next year's bill is to predict.

## TL;DR

- Ingest-based: you pay per GB sent. One driver, easy to forecast and control.
- Host-based: you pay per server or container host, plus separate data fees. Autoscaling moves the bill.
- User-based: you pay per seat. Cost grows with team size, not data.
- Flat-rate or tiered: fixed price inside a band; overages or tier jumps above it.
- Most predictable at scale: OpenObserve: ingest-based, no host or user fees.

## What are observability pricing models?

An observability pricing model is the unit a vendor charges for. That unit matters more than the headline price, because it decides which part of your business makes the bill grow.

| Model | You pay for | Grows with | Common in |
|---|---|---|---|
| Ingest-based | GB of logs, metrics, and traces sent | Data volume | Log platforms, OpenTelemetry-native backends |
| Host-based | Each monitored host, per month or per hour | Infrastructure size | Infrastructure monitoring and APM |
| User-based | Each person with access | Team size | Full-platform suites |
| Flat-rate / tiered | A fixed price for a capacity band (events, GB, or hosts) | Crossing into the next band | Event-based tracing tools, enterprise contracts |
| Scan / query-based | Data scanned by searches and dashboards | How often and how widely you query | Newer log analytics tiers |

In practice, almost every vendor combines models. A per-host infrastructure fee plus a per-GB log fee is the most common pairing.

## How does ingest-based pricing work?

**Ingest-based pricing** charges per GB of telemetry the platform receives. Retention for a default period is usually included, and query or long-term storage is billed separately.

Strengths:
- One main driver (GB ingested) that you can measure at the source.
- You control it directly: drop debug logs, sample traces, and filter noisy fields before they are billed.
- No penalty for adding engineers or scaling hosts.

Watch for:
- Separate query or scan charges.
- Short included retention with paid extensions.
- Different rates for logs, metrics, and traces.

OpenObserve is ingest-based: you pay for the data you ingest and query, with no per-host, per-user, or per-seat fees. On OpenObserve Cloud, that's $0.50 per GB ingested on an annual contract ($0.70 pay-as-you-go) plus $0.01 per GB queried, with 30 days of retention for logs and traces and 15 months for metrics included.

## How does host-based pricing work?

**Host-based pricing** charges for each monitored host (a VM, bare-metal server, or container node) per month, or per hour of host uptime. Log and trace volume is usually billed on top.

Examples from vendor list prices:
- Datadog Infrastructure Pro is $15 per host per month billed annually ($18 month-to-month), and APM is $31 per host per month billed annually. Logs are billed separately: $0.10 per GB ingested plus $1.70 per million indexed log events with 15-day retention. (Source: Datadog pricing list page, November 2026)
- Splunk Observability Cloud tiers start at $15 (Infrastructure), $60 (App & Infra), and $75 (End-to-End) per host per month, billed annually. (Source: Splunk Observability Cloud pricing page, October 2026)
- Dynatrace charges Full-Stack Monitoring at $0.01 per memory-GiB-hour and Infrastructure Monitoring at $0.04 per hour for any size host. (Source: Dynatrace rate card, November 2026)

Strengths:
- Simple when the fleet is stable and long-lived.
- Infrastructure metrics are often bundled into the host fee.

Watch for:
- Autoscaling and short-lived nodes, which raise host counts or host-hours without changing what you observe.
- Memory-based host sizing (as with Dynatrace's GiB-hours), where moving to larger instances raises the bill with no change in host count.
- A second, separate bill for logs and traces.

For a full breakdown of one host-based vendor, see our [Datadog pricing guide](/blog/datadog-pricing/).

## How does user-based pricing work?

**User-based pricing** charges for each person who can use the platform, often with seat types at different prices. Data ingest is usually billed too, after a free allowance.

Example: New Relic includes 100 GB of data ingest per month, then charges $0.40 per GB (Original Data) or $0.60 per GB (Data Plus) on Standard and Pro. Users are priced by type: Basic users are free, Core users are $49 per user per month, and Full platform users on Pro are $349 per user per month on an annual commitment or $418.80 on monthly pay-as-you-go. (Source: New Relic pricing page, November 2026)

Grafana Cloud Pro also has a user element: a $19 monthly platform fee, Grafana visualization from $8 per active user after the first 3, and usage fees for logs, metrics, and traces. (Source: Grafana Cloud pricing page, November 2026)

Strengths:
- Data-heavy, small teams pay little for headcount.

Watch for:
- Pressure to share logins or limit access, which slows incident response.
- Seat-type audits: who really needs a full-platform seat?
- Headcount growth raising the bill even when data stays flat.

## How does flat-rate and tiered pricing work?

**Flat-rate or tiered pricing** charges a fixed price for a band of usage (events, GB, or hosts). Inside the band, the bill doesn't move. Crossing it means an overage rate or a jump to the next tier.

Example: Honeycomb's Free plan covers up to 20M events per month. Pro starts at $150 per month for up to 750M events, priced from $150 per 50M events, and Enterprise is custom. All plans include unlimited seats and unlimited querying. (Source: Honeycomb pricing page, November 2026)

Flat-rate contracts also appear as committed annual spend: you buy a fixed amount of capacity or credits upfront. Sumo Logic, for example, bills in credits and offers a Flex option with $0 ingest where cost depends on analytics scans; it doesn't publish per-credit prices. (Source: Sumo Logic pricing page, October 2026)

Strengths:
- Budget certainty inside the band.

Watch for:
- The step at the top of each band.
- Unused capacity in committed contracts (you pay for it either way).
- Event-based units that are hard to convert from your current GB or host numbers.

## What hidden fees exist in observability pricing?

The headline rate is rarely the whole bill. These five line items cause most surprises, and each one has its own driver.

| Hidden fee | What triggers it | Vendor examples (list prices) |
|---|---|---|
| Query / scan charges | Searches, dashboards, and alerts reading data | OpenObserve: $0.01 per GB queried. Dynatrace: $0.0035 per GiB scanned. Sumo Logic Flex: billed on scans per GB ingested, no published price |
| Retention beyond the included period | Keeping data longer than the default | OpenObserve: $0.02 per GB per extra 30 days for non-metrics data. Dynatrace: $0.0007 per GiB-day. Elastic Serverless Complete: $0.019 per GB retained monthly. Grafana Cloud logs: from $0.10 per GB |
| Indexing fees | Making logs searchable, separate from ingest | Datadog: $1.06 to $2.50 per million indexed logs depending on retention (3 to 30 days), billed annually |
| Custom metrics / active series | High-cardinality labels and custom metrics | Datadog: $5 per 100 custom metrics. Grafana Cloud: from $6.50 per 1k active series beyond 10k |
| Egress | Moving data out of the platform | Dynatrace: $0.15 per GiB egressed. Elastic Serverless: 50 GB free, then $0.05 per GB transferred monthly. Datadog: $0.25 per GB to forward logs to each custom destination. New Relic: no egress charge |

Sources: OpenObserve pricing page; Dynatrace rate card, Elastic Observability Serverless pricing page, Grafana Cloud pricing page, Datadog pricing list page, and New Relic pricing page, November 2026; Sumo Logic pricing page, October 2026.

Custom metrics fees are the hardest to forecast, because one new label can multiply series counts.

## Observability pricing by vendor: which model does each use?

| Vendor | Primary model | Data fees | User fees | Notable extra charges |
|---|---|---|---|---|
| OpenObserve | Ingest-based | Cloud: $0.50/GB (annual), $0.70/GB (pay-as-you-go) | None, unlimited users | $0.01/GB queried; extra retention $0.02/GB per 30 days |
| Datadog | Host-based + ingest | Logs $0.10/GB ingested + $1.70 per 1M indexed | Observability products not priced per user | Custom metrics $5 per 100 |
| Splunk Observability Cloud | Host-based tiers | No per-GB rate published | Not listed | Add-ons priced by contacting sales |
| Dynatrace | Host-hours (memory-based) + usage | Logs $0.20/GiB ingest | Not listed | Retain $0.0007/GiB-day; query $0.0035/GiB scanned; egress $0.15/GiB |
| New Relic | User-based + ingest | 100 GB free, then $0.40 or $0.60/GB | Core $49; Full platform $349 (Pro, annual) | Compute (CCU) charges, no published price |
| Grafana Cloud | Usage + users + platform fee | Logs and traces: $0.05/GB processed, $0.40/GB written, $0.10/GB retained | Visualization from $8 per active user | $19/month platform fee; active series from $6.50 per 1k |
| Elastic Observability Serverless | Ingest + retention | From $0.07/GB (Logs Essentials), from $0.09/GB (Complete) | Not listed | Retention per GB-month; egress above 50 GB |
| Honeycomb | Event-based tiers | Events, not GB | Unlimited seats | Tier steps at plan limits |
| Sumo Logic | Credits; scan-based Flex option | $0 ingest on Flex | Not listed | Scans and storage; no published prices |

All third-party figures are list prices from each vendor's own pricing page or rate card (Splunk and Sumo Logic October 2026, the rest November 2026). Discounts, commitments, and regional pricing change real bills.

## Ingest, query, retention, and egress charges compared

The four charges that decide most log bills are ingest, query, retention, and getting data out. Here is how each vendor prices them, from their own pricing pages.

| Vendor | Ingest | Query / scan | Retention | Egress / data out |
|---|---|---|---|---|
| OpenObserve Cloud | $0.50/GB (annual), $0.70/GB (pay-as-you-go) | $0.01/GB queried | Included: 30 days logs and traces, 15 months metrics; then $0.02/GB per 30 days | Not listed; Bring Your Own Bucket keeps data in your own bucket |
| Datadog | Logs $0.10/GB, plus $1.06 to $2.50 per 1M indexed events | No log query charge listed | Set by index tier: 3, 7, 15, or 30 days; Flex Logs storage from $0.05 per 1M events | $0.25/GB per custom forwarding destination |
| Dynatrace | $0.20/GiB ingest and process | $0.0035/GiB scanned | $0.0007/GiB-day | $0.15/GiB |
| New Relic | 100 GB free, then $0.40/GB (Original Data) or $0.60/GB (Data Plus); EU region +$0.05/GB | Compute (CCU), no published price | Data Plus adds up to 90 days of extended retention | None ("we don't charge for data egress or hydration") |
| Grafana Cloud Pro | Logs and traces: $0.05/GB processed + $0.40/GB written, 50 GB included | Not listed | 30 days included for logs and traces, then $0.10/GB retained; 13 months for metrics | Not listed |
| Elastic Observability Serverless | From $0.07/GB (Logs Essentials) or $0.09/GB (Complete) | No query charge listed | From $0.017/GB-month (Essentials), $0.019/GB-month (Complete) | 50 GB free, then $0.05/GB |
| Honeycomb | Events, not GB: Pro from $150 per 50M events | Unlimited querying | Not listed | Not listed |

Sources: each vendor's pricing page or rate card, November 2026. "Not listed" means the vendor's pricing page doesn't state a price for that charge.

A low ingest price can hide a high total. Dynatrace's $0.20/GiB ingest looks close to the others, but retention is billed per GiB-day and every search is billed per GiB scanned. Datadog's $0.10/GB ingest rises to $1.80 per GB-equivalent once 1 KB logs are indexed for 15 days.

## Worked example: one workload, three pricing models

To compare models fairly, take one workload and price it on each, using list prices.

**The workload (monthly):**
- 50 hosts, 16 GiB memory each, running all month (730 hours)
- 20 engineers: 6 need full platform access, 14 need core access
- 900 GB logs (about 900M events at roughly 1 KB each), 300 GB traces, 100 GB metrics: 1,300 GB total
- Searches, dashboards, and alerts scan 5,000 GB

| | Host-based (Datadog) | User-based (New Relic Pro) | Ingest-based (OpenObserve Cloud) |
|---|---|---|---|
| Hosts | Infra Pro 50 × 15 = $750; APM 50 × 31 = $1,550 | 0 | 0 |
| Data | Logs ingest 900 × 0.10 = $90; indexing 900M events × 1.70 per 1M = $1,530 | (1,300 - 100 free) × 0.40 = $480 | 1,300 × 0.50 = $650 |
| Users | 0 | 6 × 349 + 14 × 49 = $2,780 | 0 |
| Query | Not billed separately | Compute charges not published | 5,000 × 0.01 = $50 |
| **Monthly total** | **$3,920** | **$3,260** | **$700** |

<div class="not-prose my-8" style="overflow-x:auto">
<svg width="100%" style="min-width:640px" viewBox="0 0 760 330" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Monthly bill for one workload: host-based Datadog $3,920 (mostly host fees and log indexing), user-based New Relic Pro $3,260 (mostly user seats), ingest-based OpenObserve Cloud $700 (data and query only)">
<title>Monthly bill for one workload: host-based Datadog $3,920 (mostly host fees and log indexing), user-based New Relic Pro $3,260 (mostly user seats), ingest-based OpenObserve Cloud $700 (data and query only)</title>
<rect x="0.5" y="0.5" width="759" height="329" rx="12" fill="#ffffff" stroke="#E5E7EB"/>
<text x="40.0" y="36.0" font-family="Inter, sans-serif" font-size="15" font-weight="600" fill="#1E1E1E" text-anchor="start">Same workload, three pricing models: monthly bill by line item</text>
<text x="40.0" y="56.0" font-family="Inter, sans-serif" font-size="12" font-weight="400" fill="#525252" text-anchor="start">50 hosts, 20 engineers, 1,300 GB ingested, 5,000 GB queried. Annual-commitment list prices, November 2026</text>
<rect x="40" y="76" width="12" height="12" rx="2" fill="#015DE9"/>
<text x="58.0" y="86.5" font-family="Inter, sans-serif" font-size="12" font-weight="400" fill="#525252" text-anchor="start">Hosts</text>
<rect x="120" y="76" width="12" height="12" rx="2" fill="#0F6E56"/>
<text x="138.0" y="86.5" font-family="Inter, sans-serif" font-size="12" font-weight="400" fill="#525252" text-anchor="start">Data</text>
<rect x="200" y="76" width="12" height="12" rx="2" fill="#BA7517"/>
<text x="218.0" y="86.5" font-family="Inter, sans-serif" font-size="12" font-weight="400" fill="#525252" text-anchor="start">Users</text>
<rect x="280" y="76" width="12" height="12" rx="2" fill="#6B7280"/>
<text x="298.0" y="86.5" font-family="Inter, sans-serif" font-size="12" font-weight="400" fill="#525252" text-anchor="start">Query</text>
<line x1="230.0" y1="108" x2="230.0" y2="292" stroke="#E5E7EB" stroke-width="1"/>
<text x="230.0" y="310.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="middle">$0</text>
<line x1="345.0" y1="108" x2="345.0" y2="292" stroke="#E5E7EB" stroke-width="1"/>
<text x="345.0" y="310.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="middle">$1,000</text>
<line x1="460.0" y1="108" x2="460.0" y2="292" stroke="#E5E7EB" stroke-width="1"/>
<text x="460.0" y="310.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="middle">$2,000</text>
<line x1="575.0" y1="108" x2="575.0" y2="292" stroke="#E5E7EB" stroke-width="1"/>
<text x="575.0" y="310.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="middle">$3,000</text>
<line x1="690.0" y1="108" x2="690.0" y2="292" stroke="#E5E7EB" stroke-width="1"/>
<text x="690.0" y="310.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="middle">$4,000</text>
<text x="218.0" y="148.0" font-family="Inter, sans-serif" font-size="12" font-weight="500" fill="#1E1E1E" text-anchor="end">Host-based</text>
<text x="218.0" y="164.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="end">(Datadog)</text>
<rect x="230.0" y="134" width="264.5" height="36" fill="#015DE9"/>
<text x="362.2" y="156.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#ffffff" text-anchor="middle">Hosts $2,300</text>
<rect x="494.5" y="134" width="186.3" height="36" fill="#0F6E56"/>
<text x="587.6" y="156.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#ffffff" text-anchor="middle">Data $1,620</text>
<text x="688.8" y="157.0" font-family="Inter, sans-serif" font-size="14" font-weight="700" fill="#1E1E1E" text-anchor="start">$3,920</text>
<text x="218.0" y="206.0" font-family="Inter, sans-serif" font-size="12" font-weight="500" fill="#1E1E1E" text-anchor="end">User-based</text>
<text x="218.0" y="222.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="end">(New Relic Pro)</text>
<rect x="230.0" y="192" width="55.2" height="36" fill="#0F6E56"/>
<text x="257.6" y="214.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#ffffff" text-anchor="middle">$480</text>
<rect x="285.2" y="192" width="319.7" height="36" fill="#BA7517"/>
<text x="445.0" y="214.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#ffffff" text-anchor="middle">Users $2,780</text>
<text x="612.9" y="215.0" font-family="Inter, sans-serif" font-size="14" font-weight="700" fill="#1E1E1E" text-anchor="start">$3,260</text>
<text x="218.0" y="264.0" font-family="Inter, sans-serif" font-size="12" font-weight="600" fill="#5527CA" text-anchor="end">Ingest-based</text>
<text x="218.0" y="280.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#5527CA" text-anchor="end">(OpenObserve Cloud)</text>
<rect x="230.0" y="250" width="74.8" height="36" fill="#0F6E56"/>
<text x="267.4" y="272.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#ffffff" text-anchor="middle">Data $650</text>
<rect x="304.8" y="250" width="5.8" height="36" fill="#6B7280"/>
<text x="318.5" y="273.0" font-family="Inter, sans-serif" font-size="14" font-weight="700" fill="#5527CA" text-anchor="start">$700</text>
<text x="362.5" y="273.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="start">incl. $50 query</text>
</svg>
</div>

*Source: calculated from list prices on the Datadog, New Relic, and OpenObserve pricing pages, November 2026.*

What's excluded, so you can adjust: Datadog custom metrics and any span ingestion or indexing beyond what the APM host fee includes; New Relic compute (CCU) charges; OpenObserve retention beyond the included 30 days (logs, traces) and 15 months (metrics). All rates use annual-commitment list prices. On pay-as-you-go, the OpenObserve Cloud total is 1,300 × 0.70 + 50 = $960.

The point isn't the totals. Each model puts weight on a different line: hosts and indexing for host-based, seats for user-based, data volume for ingest-based. For a deeper comparison of one pairing, see [Datadog vs OpenObserve: cost](/blog/datadog-vs-openobserve-part-9-cost/). To model your own invoice, use the [Bill Analyzer](/datadog_pricing_comparison/).

## How to predict next year's observability bill

1. **List every billing driver** in your contract: GB ingested, GB queried, hosts or host-hours, users by seat type, metrics series, retention.
2. **Measure each driver today** from your current invoice or usage page.
3. **Pick a growth rate per driver.** Data, infrastructure, and headcount rarely grow at the same pace.
4. **Multiply by unit price,** and add the tier steps or overage rates you'll cross.
5. **Add a margin for each driver you can't control.** More drivers means more margin.

Applying illustrative growth rates to the workload above (data +40%, hosts +20%, engineers +25%):

| Model | This year (monthly) | Next year (monthly) | Change | Drivers to forecast |
|---|---|---|---|---|
| Host-based (Datadog) | $3,920 | $5,028 | +28% | Hosts, log GB, indexed events |
| User-based (New Relic Pro) | $3,260 | $4,163 | +28% | Users by seat type, GB ingested |
| Ingest-based (OpenObserve Cloud) | $700 | $980 | +40% | GB ingested, GB queried |

<div data-benchmark-chart class="not-prose my-8" data-config='{"title": "Next year&#39;s monthly bill: one driver vs several", "subtitle": "Host-based Datadog, user-based New Relic Pro, ingest-based OpenObserve Cloud. Data +40%, hosts +20%, engineers +25%", "bars": [{"label": "Datadog: this year", "value": 3920, "display": "$3,920", "color": "#D1D5DB"}, {"label": "Datadog: next year", "value": 5028, "display": "$5,028 (+28%)", "color": "#6B7280", "note": "Hosts, log GB, and indexed events all grow"}, {"label": "New Relic Pro: this year", "value": 3260, "display": "$3,260", "color": "#D1D5DB"}, {"label": "New Relic Pro: next year", "value": 4163, "display": "$4,163 (+28%)", "color": "#6B7280", "note": "Seats and GB ingested both grow"}, {"label": "OpenObserve Cloud: this year", "value": 700, "display": "$700", "color": "#B9A6EE"}, {"label": "OpenObserve Cloud: next year", "value": 980, "display": "$980 (+40%)", "color": "#5527CA", "note": "Tracks data growth only: GB ingested and GB queried"}], "callout": {"text": "OpenObserve stays under $1,000/month", "note": "vs $4,163 to $5,028 on user-based and host-based pricing"}, "caption": "Source: calculated from list prices on the Datadog, New Relic, and OpenObserve pricing pages, November 2026."}'></div>

The ingest-based bill grows in line with data, because data is its only real driver. That is what makes it predictable: one number to forecast, measured at the source, and one you can reduce before it's billed. For ways to lower that number, see [12 observability cost optimization tactics](/blog/observability-cost-optimization-tactics/).

## Which observability pricing model is most predictable at scale?

Predictability comes down to two questions: how many drivers does the bill have, and can you control them?

- **Ingest-based:** one driver, controllable at the source with filtering, sampling, and routing. Most predictable.
- **Flat-rate / tiered:** predictable inside a band, with a step at the edge.
- **User-based:** predictable while headcount is stable; hiring and access requests move it.
- **Host-based:** least predictable on autoscaling or containerized infrastructure, and usually paired with a separate data bill.

<div class="not-prose my-8" style="overflow-x:auto">
<svg width="100%" style="min-width:640px" viewBox="0 0 760 428" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Pricing models from most to least predictable: ingest-based (OpenObserve's model, one driver you control), flat-rate or tiered (predictable inside a band), user-based (moves with headcount), host-based (several drivers, moves with autoscaling)">
<title>Pricing models from most to least predictable: ingest-based (OpenObserve's model, one driver you control), flat-rate or tiered (predictable inside a band), user-based (moves with headcount), host-based (several drivers, moves with autoscaling)</title>
<rect x="0.5" y="0.5" width="759" height="427" rx="12" fill="#ffffff" stroke="#E5E7EB"/>
<defs><marker id="arr-predictability" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M2 1L8 5L2 9" fill="none" stroke="#525252" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></marker></defs>
<text x="40.0" y="36.0" font-family="Inter, sans-serif" font-size="15" font-weight="600" fill="#1E1E1E" text-anchor="start">Which pricing model is easiest to forecast?</text>
<text x="40.0" y="56.0" font-family="Inter, sans-serif" font-size="12" font-weight="400" fill="#525252" text-anchor="start">Fewer billing drivers, and drivers you control, mean a more predictable bill</text>
<line x1="40" y1="82" x2="720" y2="82" stroke="#525252" stroke-width="1.5" marker-end="url(#arr-predictability)"/>
<text x="40.0" y="100.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#525252" text-anchor="start">More predictable</text>
<text x="720.0" y="100.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#525252" text-anchor="end">Less predictable</text>
<rect x="40" y="114" width="158" height="288" rx="8" fill="#EEE9FB" stroke="#5527CA" stroke-width="2"/>
<text x="54.0" y="142.0" font-family="Inter, sans-serif" font-size="14" font-weight="700" fill="#5527CA" text-anchor="start">Ingest-based</text>
<text x="54.0" y="160.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#5527CA" text-anchor="start">Most predictable</text>
<text x="54.0" y="188.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#525252" text-anchor="start">What moves the bill</text>
<rect x="54" y="198" width="130" height="24" rx="6" fill="#ffffff" stroke="#5527CA"/>
<text x="64.0" y="214.0" font-family="Inter, sans-serif" font-size="12" font-weight="500" fill="#1E1E1E" text-anchor="start">GB ingested</text>
<rect x="54" y="228" width="130" height="24" rx="6" fill="#ffffff" stroke="#5527CA"/>
<text x="64.0" y="244.0" font-family="Inter, sans-serif" font-size="12" font-weight="500" fill="#1E1E1E" text-anchor="start">GB queried</text>
<text x="54.0" y="308.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="start">Both follow data volume,</text>
<text x="54.0" y="324.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="start">measured at the source.</text>
<text x="54.0" y="340.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="start">Filter, sample, or route it</text>
<text x="54.0" y="356.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="start">before it's billed.</text>
<rect x="54" y="370" width="130" height="22" rx="11" fill="#5527CA"/>
<text x="119.0" y="385.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#ffffff" text-anchor="middle">OpenObserve's model</text>
<rect x="214" y="114" width="158" height="288" rx="8" fill="#F9FAFB" stroke="#E5E7EB" stroke-width="1"/>
<text x="228.0" y="142.0" font-family="Inter, sans-serif" font-size="14" font-weight="700" fill="#1E1E1E" text-anchor="start">Flat-rate / tiered</text>
<text x="228.0" y="160.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#525252" text-anchor="start">Predictable inside a band</text>
<text x="228.0" y="188.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#525252" text-anchor="start">What moves the bill</text>
<rect x="228" y="198" width="130" height="38" rx="6" fill="#ffffff" stroke="#E5E7EB"/>
<text x="238.0" y="214.0" font-family="Inter, sans-serif" font-size="12" font-weight="500" fill="#1E1E1E" text-anchor="start">Usage band</text>
<text x="238.0" y="229.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="start">(events, GB, or hosts)</text>
<text x="228.0" y="308.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="start">Fixed price inside the band.</text>
<text x="228.0" y="324.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="start">Overage or a tier jump</text>
<text x="228.0" y="340.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="start">when you cross it.</text>
<rect x="388" y="114" width="158" height="288" rx="8" fill="#F9FAFB" stroke="#E5E7EB" stroke-width="1"/>
<text x="402.0" y="142.0" font-family="Inter, sans-serif" font-size="14" font-weight="700" fill="#1E1E1E" text-anchor="start">User-based</text>
<text x="402.0" y="160.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#525252" text-anchor="start">Moves with headcount</text>
<text x="402.0" y="188.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#525252" text-anchor="start">What moves the bill</text>
<rect x="402" y="198" width="130" height="24" rx="6" fill="#ffffff" stroke="#E5E7EB"/>
<text x="412.0" y="214.0" font-family="Inter, sans-serif" font-size="12" font-weight="500" fill="#1E1E1E" text-anchor="start">Seats by type</text>
<rect x="402" y="228" width="130" height="24" rx="6" fill="#ffffff" stroke="#E5E7EB"/>
<text x="412.0" y="244.0" font-family="Inter, sans-serif" font-size="12" font-weight="500" fill="#1E1E1E" text-anchor="start">GB ingested</text>
<text x="402.0" y="308.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="start">Hiring and access requests</text>
<text x="402.0" y="324.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="start">raise the bill even when</text>
<text x="402.0" y="340.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="start">data stays flat.</text>
<rect x="562" y="114" width="158" height="288" rx="8" fill="#F9FAFB" stroke="#E5E7EB" stroke-width="1"/>
<text x="576.0" y="142.0" font-family="Inter, sans-serif" font-size="14" font-weight="700" fill="#1E1E1E" text-anchor="start">Host-based</text>
<text x="576.0" y="160.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#525252" text-anchor="start">Least predictable</text>
<text x="576.0" y="188.0" font-family="Inter, sans-serif" font-size="11" font-weight="600" fill="#525252" text-anchor="start">What moves the bill</text>
<rect x="576" y="198" width="130" height="24" rx="6" fill="#ffffff" stroke="#E5E7EB"/>
<text x="586.0" y="214.0" font-family="Inter, sans-serif" font-size="12" font-weight="500" fill="#1E1E1E" text-anchor="start">Hosts or host-hours</text>
<rect x="576" y="228" width="130" height="24" rx="6" fill="#ffffff" stroke="#E5E7EB"/>
<text x="586.0" y="244.0" font-family="Inter, sans-serif" font-size="12" font-weight="500" fill="#1E1E1E" text-anchor="start">Log GB</text>
<rect x="576" y="258" width="130" height="24" rx="6" fill="#ffffff" stroke="#E5E7EB"/>
<text x="586.0" y="274.0" font-family="Inter, sans-serif" font-size="12" font-weight="500" fill="#1E1E1E" text-anchor="start">Indexed events</text>
<text x="576.0" y="308.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="start">Autoscaling and short-lived</text>
<text x="576.0" y="324.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="start">nodes move the bill. Data is</text>
<text x="576.0" y="340.0" font-family="Inter, sans-serif" font-size="11" font-weight="400" fill="#525252" text-anchor="start">usually a second bill.</text>
</svg>
</div>

## Which observability tools have no per-host or per-user pricing?

Most vendors meter at least one of hosts or seats on top of data. Here is what each vendor's pricing page lists:

| Vendor | Per-host fees | Per-user fees |
|---|---|---|
| OpenObserve | None | None, unlimited users |
| Honeycomb | None listed (priced by events) | None, unlimited seats |
| Elastic Observability Serverless | None listed | None listed |
| Grafana Cloud | None listed | From $8 per active user after the first 3 |
| New Relic | None listed | Core $49; Full platform $349 (Pro, annual) |
| Datadog | Infrastructure and APM per host | Not priced per user |
| Dynatrace | Per memory-GiB-hour or host-hour | Not listed |
| Splunk Observability Cloud | Per host tiers | Not listed |

Sources: each vendor's pricing page or rate card, November 2026 (Splunk, October 2026).

Removing both meters leaves data as the only driver. Adding an on-call engineer, giving a product team read access, or scaling a node pool for a traffic spike doesn't change the bill.

## Which pricing model gives the lowest total cost of ownership?

Total cost of ownership (TCO) is the subscription or license, plus the infrastructure you run, plus the engineering time to operate it. The pricing model shapes the first part; the deployment model shapes the other two.

- **SaaS, priced per unit you can reduce:** ingest-based pricing lets you cut cost by filtering and sampling before data is billed. In the worked example above, the ingest-based bill is $700 a month against $3,260 and $3,920 for the user-based and host-based options.
- **SaaS, priced per host or seat:** the bill follows infrastructure or headcount, which you can't trim without losing coverage or access.
- **Self-hosted:** no per-GB fee, but you pay for compute, storage, and the people who run it. Storage format matters most at scale: a platform that writes compressed columnar files to object storage usually costs less to retain than one that keeps indexed data on block storage. Our breakdown of [the real cost of self-hosting observability on ClickHouse](/blog/cost-of-self-hosting-observability-on-clickhouse/) shows where those costs land.

OpenObserve gives the most cost-efficient result on both paths. On Cloud, you pay per GB with no host or seat fees. Self-hosted, the Open Source edition is free and the Self-Hosted Enterprise edition is free for up to 50 GB of ingestion per day, with data stored as Parquet on object storage. You can move between Cloud and self-hosted at any time.

## How OpenObserve keeps observability pricing predictable

OpenObserve is an open source (AGPL-3.0) observability platform for logs, metrics, traces, and RUM. Its pricing follows one driver: how much data you ingest.

- **One driver, no seat or host fees:** you pay for data ingested and queried, with unlimited users. On Cloud, that's $0.50 per GB ingested on an annual contract plus $0.01 per GB queried.
- **Retention included:** 30 days for logs and traces, 15 months for metrics. Extending non-metrics retention costs $0.02 per GB per extra 30-day period, and [extended retention](https://openobserve.ai/docs/user-guide/data-processing/streams/extended-retention/) lets you keep specific time ranges of a stream longer, such as data from an incident.
- **Control the driver before it's billed:** [pipelines](https://openobserve.ai/docs/user-guide/data-processing/pipelines/pipelines/) filter, transform, and route data during ingestion, so you can drop noisy logs before they count.
- **Object storage underneath:** telemetry is stored as Parquet files on object storage (S3, GCS, Azure Blob, MinIO).
- **Own the storage:** with [Bring Your Own Bucket](https://openobserve.ai/docs/administration/maintenance/storage-management/bring-your-own-bucket/) writes telemetry to your own S3, Azure Blob, or Google Cloud Storage bucket, so you can use storage commitments you already have.

### One platform instead of a product per signal

Host-based and user-based bills often grow because each signal is a separate product with its own meter. OpenObserve covers the full stack in one platform:

| Area | What's included |
|---|---|
| Logs, metrics, traces | Log search with SQL, PromQL and SQL for metrics, distributed tracing with a service graph and service catalog, continuous profiling |
| Frontend monitoring | Real User Monitoring (RUM), session replay, and error tracking |
| Synthetic monitoring | Scheduled browser and protocol checks from global and private locations |
| AI | AI Assistant, SRE Agent for AI root cause analysis, MCP server, LLM observability and evaluations, anomaly detection, log patterns |
| Alerting and reliability | Scheduled, real-time, composite, and anomaly alerts; incident management; SLOs with error budgets and burn rate |
| Dashboards and reports | Dashboards with custom charts, scheduled PDF, PNG, or CSV reports |
| Data processing | Pipelines, VRL functions, enrichment tables, metrics downsampling |
| Storage and retention | Object storage, Bring Your Own Bucket, extended retention |
| Security and governance | SSO, RBAC, multi-tenancy, sensitive data redaction, audit trail, federated search |
| Compliance | SOC 2 Type II, ISO 27001, and an EU-Central (Frankfurt) Cloud region for GDPR and data residency |
| Open standards | OpenTelemetry-native ingestion, Prometheus remote write and PromQL |

![OpenObserve pipeline editor showing a real-time pipeline with a level != 'debug' condition that drops debug logs before they reach the destination stream](/assets/blog/observability-pricing-models/image1.png)

![OpenObserve Stream Details Extended Retention tab with a past incident window (21 to 23 October 2026, UTC) selected for extended retention](/assets/blog/observability-pricing-models/image2.png)

## Get started with OpenObserve

- Compare plans on the [OpenObserve pricing page](/pricing/).
- [Start a 14-day free trial of OpenObserve Cloud](https://cloud.openobserve.ai/web/login?mode=signup), or [run OpenObserve self-hosted](https://openobserve.ai/docs/getting-started/).
- Weighing a full-platform suite? Read our [New Relic alternatives guide](/blog/top-10-new-relic-alternatives/).
