Plans & Pricing
InfraSage uses an event-based billing model. You pay for the telemetry you ingest, not the number of services you monitor.
Plan Comparison
| Free | Starter | Pro | Enterprise | |
|---|---|---|---|---|
| Price | $0/mo | $149/mo | $599/mo | Custom |
| Events/month | 1 million | 50 million | 500 million | Unlimited |
| API keys | 2 | 5 | 20 | 100 |
| Users | 3 | 10 | 50 | 500 |
| Rate limit | 10 RPS | 100 RPS | 500 RPS | 5,000 RPS |
| Data retention | 7 days | 30 days | 90 days | 365 days |
| Anomaly detection | ✅ | ✅ | ✅ | ✅ |
| AI-powered RCA | ✅ | ✅ | ✅ | ✅ |
| ML Engine | ❌ | ✅ | ✅ | ✅ |
| Runbook automation | ❌ | ✅ | ✅ | ✅ |
| All integrations | ❌ | ✅ | ✅ | ✅ |
| Multi-tenancy | ❌ | ❌ | ✅ | ✅ |
| Federation | ❌ | ❌ | ❌ | ✅ |
| SLA | None | 99.5% | 99.9% | 99.99% |
| Support | Community | Priority | Dedicated SRE |
What Counts as an Event?
One event = one telemetry record ingested via any method (JSON, OTLP, Prometheus remote-write).
| Event Type | Counts as Events |
|---|---|
| Single metric data point | 1 event |
| Single log line | 1 event |
| Single trace span | 1 event |
| Batch of 100 records | 100 events |
| AWS CloudWatch metric poll (per data point) | 1 event |
| Kubernetes event | 1 event |
Events are counted at ingestion time when they pass validation. Failed records sent to the DLQ do not count toward your quota.
Viewing Usage
Via API
curl http://localhost:8080/api/v1/usage \
-H "Authorization: Bearer $ADMIN_JWT"
{
"tenant_id": "acme-corp",
"plan": "pro",
"billing_period_start": "2026-04-01T00:00:00Z",
"billing_period_end": "2026-05-01T00:00:00Z",
"events_limit": 500000000,
"events_used": 142000000,
"events_remaining": 358000000,
"usage_by_type": {
"metric": 120000000,
"log": 15000000,
"trace": 5000000,
"event": 2000000
},
"rps_limit": 500,
"current_rps": 1247
}
Via ClickHouse
SELECT
toStartOfHour(timestamp) AS hour,
type,
count() AS events
FROM infrasage.infrasage_usage_metering
WHERE tenant_id = 'acme-corp'
AND timestamp > now() - INTERVAL 7 DAY
GROUP BY hour, type
ORDER BY hour DESC
Upgrading Your Plan
To upgrade:
curl -X POST http://localhost:8080/api/v1/billing/upgrade \
-H "Authorization: Bearer $SUPER_ADMIN_JWT" \
-d '{"plan": "enterprise"}'
Plan changes take effect immediately. You will be charged a prorated amount for the remainder of the billing period.
Rate Limiting
When you exceed your plan's RPS limit, the API returns:
HTTP/1.1 429 Too Many Requests
Retry-After: 1
X-RateLimit-Limit: 500
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1712750461
Your data is not lost — back off and retry. The Ingestion Gateway includes a local buffer to absorb bursts.
Event Quota Enforcement
When you reach 90% of your monthly event quota, InfraSage:
- Sends a warning to your configured
contact_email - Posts an alert to your configured Slack channel (if configured)
When 100% is reached, new ingestion requests return HTTP 429 with:
{
"error": "quota_exceeded",
"message": "Monthly event quota exhausted (1,000,000/1,000,000). Upgrade your plan or wait for the next billing period."
}
Enterprise Plan
Enterprise is designed for organizations with:
- More than 500 services monitored
- Compliance requirements (SOC 2, HIPAA, FedRAMP)
- Multi-region or multi-cloud deployments
- Dedicated SRE support requirements
- Custom data residency needs
Contact sales@infrasage.io to discuss Enterprise pricing and custom SLAs.