Synthetic monitoring like Pingdom. Log ingestion + search + live tail like Splunk. Signed event webhooks and pre-converted LLM tool definitions because your on-call is increasingly a Claude or GPT tool call. Self-hosted in five minutes or hosted for a fraction of a single Datadog seat.
Most observability stacks are stitched from three vendors. We collapse the synthetic-monitoring bill, the log-ingest bill, and the "we need an SDK for that" line item into one self-hostable product an agent can actually drive.
HTTP, TCP, SSL/TLS, ICMP ping, port probe, keyword match, heartbeat / cron. Multi-region. SLO targets. Status pages with custom domains. Signed alert webhooks to Slack, Discord, Teams, Telegram, PagerDuty, Opsgenie. The full uptime-vendor surface, MIT-licensed. /features →
Ship from Lambda, Heroku, Vercel, Docker, journald, OpenTelemetry, or just
curl. Search by typing the words you remember. Auto-extracted
facets on the side. Pattern grouping that collapses 10,000 similar lines.
Error tracking — recurring stack traces as one row, no Sentry meter.
Save any search as a chartable metric.
/docs/logs →
Each one is a real check in the repo — not a roadmap item.
Verifies status codes, measures response time, flags degradation before full outage.
Reachable-or-not checks for databases, message queues, anything that speaks TCP.
Warns you 7 days before expiry. Validates cert chain, not just 200 OK.
Classic reachability from inside your network or ours.
Like TCP, but for the case where the URL format does not include the port.
Does the page still say "Order placed" — or is that 200 just a generic landing page?
Inverted check — your job pings us. If silence past your interval, we open an incident. Auto-resolves on next ping.
Send them from anywhere. Make sense of them without learning a new query language. Catch the spikes you'd miss at 2am. Group recurring errors so one bug is one row, not a thousand. The things Datadog, Splunk, and Sentry each charge separately for — bundled into the same bill as your uptime checks.
Lambda functions land through CloudWatch. Heroku apps in one
heroku drains:add. Vercel projects in one paste. Docker
containers via the syslog driver. systemd units via journald.
OpenTelemetry SDKs in any language. Vector or Fluent Bit pipelines.
Or just curl structured JSON straight to a URL.
All 12 sources →
No SPL to learn, no proprietary DSL. Plain substring works. So does
service:checkout AND level:error when you want filters. Auto-extracted
facets show up on the side — click a value, drill in. Live-tail
new events as they land. Click a pattern to collapse 10,000 similar
lines into the one shape that matters.
Threshold alerts when you know the magic number ("more than 10 errors in 5 minutes"). Spike-vs-baseline alerts when "normal" varies by service or time-of-day — no ML to configure, just "3× normal rate". Routes to email, Slack, Discord, Teams, Telegram, or any HMAC-signed webhook. (PagerDuty, Opsgenie, SMS, and voice are on the monitor side today — log-alert parity shipping shortly, on the roadmap.) One incident per fire, never a hundred.
Recurring stack traces collapse to one row with a count, first-seen,
last-seen, and a sample. JavaScript, Python, Java, Go, generic
ERROR:. The thing Sentry charges separately for, here for the
same bill. Mark resolved when you've fixed it. Save any log search as a
time-series and alert on it like any monitor.
Free 1 GB/mo. Startup 10 GB. Pro 100 GB. Self-host: unlimited. Every plan gets every feature on this page — no "intelligence tier".
Pingdom charges $15/mo for 10 monitors. We charge $9/mo for 100. Same check types, same intervals, longer history. You're paying for sales commissions, not software.
The full stack is open-source and runs on your own host. No vendor lock-in, no data exfiltration, no "enterprise" tier to unlock encryption. If we vanish tomorrow, you have working monitoring tomorrow.
Every account-mutating action — create, update, delete, role change, secret rotation — recorded with actor + resource + timestamp. PAT-attributed, so you can answer "what did the agent do?" with one SQL-style query.
Every line is true today. No roadmap asterisks.
/openapi.json. Generate a typed client in any language.Flat, legible, unscared of comparison.
Sign up and we run it for you, or fork the source and run it yourself.