Uptime Kuma vs Grafana
Grafana Cloud Synthetic Monitoring runs HTTP, ping, DNS and browser checks from global probes and bills per test execution: one probe, one test, one minute of run time. The free tier includes 100k API executions a month, then $19/mo platform fee plus $5 per 10k. Uptime Kuma is a self-hosted app that does the checks and the status page for a flat $3/mo. Here is the arithmetic.
Uptime Kuma vs Grafana: The Verdict
Grafana Cloud Synthetic Monitoring wins when you already live in Grafana and want probes from several regions correlated with your metrics, logs and traces on one dashboard. Its free tier is real: 100k API test executions a month covers 20 checks from one probe every 10 minutes (86,400 executions). Past that, the meter is executions = probes x tests x minutes, so multi-region checks at high frequency get expensive quickly, and there is still no public status page. Uptime Kuma checks from one location (wherever you host it), costs $3/mo flat for as many monitors as the pod can run, and ships the status page. Pick Grafana for global vantage points inside an observability stack. Pick Uptime Kuma for a self-hosted monitor with a status page and a bill that never changes.
Last updated: 2026-09-18Quick Comparison
| Feature | Grafana | Uptime Kuma |
|---|---|---|
| What It Is | Hosted synthetic checks inside Grafana Cloud | Self-hosted uptime monitor with alerts and status pages |
| Pricing Model | Per test execution (probe x test x minute); free to 100k/mo, then $19/mo + $5 per 10k | Flat $3/mo for the server, unlimited monitors |
| Probe Locations | Global public probes, or private probes you host | One - wherever the pod runs |
| Check Types | HTTP, ping, DNS, TCP, traceroute, MultiHTTP, scripted (k6), browser | HTTP(s), keyword, JSON query, TCP, DNS, ping, WebSocket, push, Steam servers, Docker |
| Check Interval | Configurable; each extra minute of run time costs an execution | Down to 20 seconds, no per-check cost |
| Correlation With Metrics and Logs | Yes - same dashboards as Prometheus, Loki, Tempo data | No |
| Public Status Page | No - build a public dashboard | Multiple pages, each mappable to its own domain |
| Alerting | Grafana Alerting rules and contact points | 90+ notification services, per-monitor |
| Data Location | Grafana Cloud | Your own server |
| Self-Hosted Option | Grafana is AGPL-3.0; Synthetic Monitoring is a Cloud product | Yes - MIT |
| 1-Click on InstaPods | No | Yes - $3/mo, launches ready to use |
What Is Harder With Grafana Synthetic Monitoring?
Trade-offs to weigh before committing.
The Meter Multiplies
Grafana counts a test execution as one test on one probe for one minute of run time, and its own estimate formula is probes x tests x duration x (43,200 / frequency). Twenty checks from three probes every minute is about 2.6 million executions a month, which is beyond the 100k free allowance and into the metered tiers ($5 per 10k, discounted to $4.45 above 1M and $4.15 above 2.5M). The same 20 checks in Uptime Kuma cost nothing beyond the $3/mo pod.
No Status Page
Synthetic Monitoring gives you dashboards and alerts for operators. A customer-facing status page with incident history and a custom domain is not part of it; the usual workaround is a public Grafana dashboard, which is not the same thing.
It Is a Cloud Product
Grafana itself is open source, but Synthetic Monitoring runs in Grafana Cloud. Your check definitions, results and history live there. If self-hosting is the point, this is the wrong half of Grafana.
You Are Buying a Stack
Synthetic Monitoring is at its best correlated with Prometheus metrics, Loki logs and Tempo traces in the same account. If you only want to know when a URL goes down, you are learning Grafana Alerting and contact points to get a Telegram message Uptime Kuma sends from a checkbox.
Why Pick Uptime Kuma Instead?
What you get when you pick this stack.
A Bill That Never Changes
InstaPods Launch is $3/mo. Add monitors, drop the interval to 20 seconds, check every hour or every minute: the price is the same. There is no execution meter to estimate.
Status Pages Included
Multiple status pages, each mappable to its own domain, with grouped monitors, branding and incident posts. It is the part people usually pay a hosted monitor for, and Grafana Synthetic Monitoring does not have it.
Your Data on Your Server
Uptime Kuma stores monitors and history in its own SQLite database on your pod. Nothing about your infrastructure is sent to a third party except the notification you asked for.
Set Up in a Minute
Paste a URL, pick a type, set an interval, save. Alerts go out through any of 90+ services ticked on per monitor. No probes to choose, no alert rules to write.
Real Cost Comparison
Watching 20 endpoints every minute with a public status page for a year. Grafana figures use its published execution formula and rates (prices checked 2026-09-18).
- From one probe: 20 tests x 43,200 minutes = 864k executions/mo
- Free tier covers 100k; Pro is $19/mo platform fee plus $5 per 10k over the included 100k
- (864k - 100k) / 10k x $5 = $382/mo at one probe; more probes multiply the executions (volume discounts start above 1M)
- No status page; alerts via Grafana Alerting
- InstaPods Launch plan: $3/mo (1 vCPU, 512MB RAM, 10GB)
- Uptime Kuma: free and open source (MIT)
- 20 monitors at a 60-second interval, unlimited executions
- Status page, HTTPS and a domain included
Frequently Asked Questions
Is Grafana Synthetic Monitoring free?
The Grafana Cloud free tier includes 100k API test executions and 10k browser test executions a month. An execution is one test on one probe per minute of run time, so 100k covers 20 checks from a single probe every 10 minutes (86,400), or about 2 checks every minute. Past that, the Pro plan is a $19/mo platform fee that includes 100k executions, then $5 per 10k API executions (prices checked 2026-09-18).
How does Grafana count a test execution?
Per Grafana's pricing FAQ: a test execution is a synthetic test running in a probe location per minute of run time. A test running in 5 locations that takes 1.5 minutes consumes 10 executions each run. The estimate formula is probes x tests x duration x (43,200 / frequency in minutes).
Does Uptime Kuma check from multiple locations?
No. Uptime Kuma probes from the server it runs on. If you need to know how a site looks from three continents, that is a case for Grafana Synthetic Monitoring or another multi-region service. For "is it up, alert me", one good vantage point off the box you are watching is enough.
Can I self-host Grafana Synthetic Monitoring?
Grafana itself is open source (AGPL-3.0) and self-hosts fine. Synthetic Monitoring is a Grafana Cloud product; you can run private probes on your own network, but the service and results live in Grafana Cloud.
Which one has a public status page?
Uptime Kuma. It ships multiple status pages, each mappable to its own domain, with incident posts. Grafana gives you dashboards you could make public, which is not the same.
Should I run both?
If you already pay for Grafana Cloud, keeping a few global synthetic checks there and running Uptime Kuma on a $3/mo pod for the status page and the long tail of monitors is a sensible split. Uptime Kuma is cheap enough that it never has to be the thing you optimise.
Can I run Grafana on InstaPods?
Grafana the dashboard tool is not a 1-Click app, but a pod is a real Linux server with SSH, so you can install it yourself. Uptime Kuma is the one-click monitor.
Want Uptime Checks at a Flat Price? Deploy in 60 Seconds
Grafana is a great observability stack. If what you need is a self-hosted monitor with a status page and no execution meter, Uptime Kuma launches on InstaPods for $3/mo, off the box you are watching, with HTTPS and a domain already wired up.
Deploy Uptime Kuma