Best Self-Hosted Monitoring Tools in 2026
Metrics, uptime, and errors on a VPS or cluster you operate, with license caveats where OSI no longer applies.
Grafana plus Prometheus is the default metrics stack you run yourself: dashboards and a scrape-based TSDB, both with OSI-approved licenses (AGPL and Apache 2.0). Uptime Kuma is the one-container uptime and status page. Zabbix, Nagios Core, Netdata, and Checkmk Raw cover host and service checks at different weights. Sentry is the error-monitoring name everyone knows, but it is no longer OSI open source (FSL and BSL-style source-available terms). GlitchTip speaks Sentry SDKs under a more liberal license if that distinction is the reason you self-host.
Self-hosted monitoring means the scraper, the TSDB, the uptime checker, or the error store runs on hardware you operate. Your laptops can still run a local agent (Netdata on a workstation is a local process). The server-shaped picks (Grafana, Prometheus, Zabbix, Uptime Kuma) are daemons you keep up, the same way you keep Umami up in the analytics guide. Toolradar data: Toolradar lists 10,429 published tools as of September 1, 2026, including 181 published monitoring tools, 65% of them free or freemium (31 free-only, 87 freemium, 63 paid).
That 65% free or freemium share is high because this category still has real community editions. The trap is calling every self-hostable binary "open source." Sentry moved to Functional Source License and BSL-style terms that OSI does not approve. You can still run Sentry on your own VPS. You should not write "open source Sentry" on a procurement form without the caveat. Redis relicensed. MongoDB is SSPL. Those names show up as dependencies even when the dashboard app is AGPL.
This list is nine tools: metrics and dashboards first, then classic host monitors, then error tracking. Grafana without Prometheus (or another TSDB) is a picture frame. Prometheus without Grafana is a query API. Uptime Kuma does not replace either; it tells you the homepage returned 200. Sentry and GlitchTip tell you the app threw. Pick the layer you are missing instead of installing all nine.
Top Picks
Based on features, user feedback, and value for money.
| Tool | Starting price | Rating | Best for |
|---|---|---|---|
| Grafana | From $19/mo | 4.5(243) | Anyone who needs one UI on metrics (and often logs) stored in backends they already ope... |
| Prometheus | Free | 4.4(71) | Teams that will run exporters and learn PromQL rather than buy a hosted metrics SKU |
| Uptime Kuma | Free | 4.6(400) | Solo ops and small teams who want HTTP, TCP, and DNS checks without a SaaS node limit |
| Zabbix | From $50/mo | 4.5(315) | IT teams that want one self-hosted check engine for servers, SNMP, and services |
| Nagios | Free plan | 4.5(103) | Ops teams that already think in host and service configs and plugin checks |
| Netdata | Free plan | 4.8(81) | People who want live, dense host metrics on the box itself, plus an optional central vi... |
| Checkmk | From $240/mo | 4.7(342) | IT teams that want a denser check-and-inventory UI than Nagios Core and will run Raw th... |
| Sentry | Free plan | 4.6(296) | Teams that want Sentry's error product on their own VPS and will document the source-av... |
| GlitchTip | From $15/mo | n/a | Teams that already emit Sentry SDK events and want a self-hosted store that is not FSL |
Anyone who needs one UI on metrics (and often logs) stored in backends they already operate
Grafana OSS is completely free for self-hosted visualization.
Watch out
Metrics overage at $6.50 per 1,000 active series adds up with high-cardinality data
Teams that will run exporters and learn PromQL rather than buy a hosted metrics SKU
Prometheus is 100% free and open source (Apache 2.0).
Watch out
Storage costs grow linearly with metric cardinality and retention period
Solo ops and small teams who want HTTP, TCP, and DNS checks without a SaaS node limit
Uptime Kuma's pricing is exceptionally generous, being entirely free.
IT teams that want one self-hosted check engine for servers, SNMP, and services
Zabbix the software is a download.
Watch out
Cloud prices are starting points. Config and storage add. Annual is 10% off the monthly Cloud bill.
Ops teams that already think in host and service configs and plugin checks
Nagios' pricing model, with a robust free tier and one-time purchase options for commercial versions, is quite generous compared to many subscription-based monitoring tools.
People who want live, dense host metrics on the box itself, plus an optional central view they host or skip
Netdata offers an incredibly generous open-source agent, making it highly accessible for individual users and small teams to get started with robust monitoring.
IT teams that want a denser check-and-inventory UI than Nagios Core and will run Raw themselves
Checkmk offers a generous free 'Raw' tier, making it accessible for small teams or individuals.
Watch out
Potential for increased costs with more monitored hosts/services.
Teams that want Sentry's error product on their own VPS and will document the source-available license
Sentry is the error tracking standard for development teams, and its pricing is reasonable at low volumes but scales aggressively with event count.
Watch out
Error volume overages: Team and Business include 50K errors. Each additional 50K costs a flat rate that varies by plan. A medium-traffic app generating 500K errors/mo on Team pays significantly more than the $26 base price
Teams that already emit Sentry SDK events and want a self-hosted store that is not FSL
GlitchTip's pricing is quite generous, especially for smaller teams and projects.
Watch out
Overage fees not specified
Other Monitoring worth considering
Beyond the editorial top picks, these are also strong choices we evaluated.
What Self-Hosted Monitoring Covers
Monitoring here is three jobs that vendors like to sell as one "observability platform." Metrics: time series of CPU, RAM, request rate, queue depth. Uptime: is the URL or port answering. Errors: stack traces from the app, grouped, with a release tag.
Self-hosting those jobs means you run the store. Prometheus scrapes exporters and keeps a local TSDB (or remote-writes to something you also run). Grafana queries that store and draws panels. Uptime Kuma polls endpoints on a schedule and writes SQLite. Zabbix and Nagios Core run check engines you configure. Netdata is a per-second agent you run on each machine, with optional cloud. Checkmk Raw is a check engine with a denser UI. Sentry and GlitchTip ingest SDK events.
None of this is "local files" the way Obsidian is local files. You are the SRE for the monitoring box. If that box is down, you may not get paged about the shop being down. Put monitoring on a different host than the thing it watches, or accept that a single VPS outage hides itself.
Why You Run Monitoring Yourself
Hosted Datadog, New Relic, and Sentry Cloud bills follow cardinality and event volume. A noisy metric or a bug that throws in a loop is a finance event, not only an ops event. Self-hosted Prometheus and Grafana turn that into disk and CPU you can see. Self-hosted Uptime Kuma is a few hundred megabytes and a cron-like poller.
Compliance is the other driver. Some networks cannot send host metrics or error bodies to a SaaS. A Zabbix or Checkmk server on the same side of the firewall is how those networks still get graphs.
License history is the third. Teams that adopted "open source monitoring" in 2018 and never re-read LICENSE files are the ones surprised by Sentry's FSL, by Redis, and by MongoDB SSPL. Self-hosting does not freeze a license. It makes you the person who notices when the next release changes it.
Key Features to Look For
Scrapes, checks, or error events must land in storage you operate. A SaaS agent that only ships outbound is not self-hosted monitoring.
Apache 2.0, GPL, MIT, and AGPL are OSI-approved. FSL, BSL, SSPL, and relicensed Redis-style terms are not. Say so in the runbook.
**Prometheus** is not an uptime robot. **Uptime Kuma** is not PromQL. **Sentry** is not a CPU graph.
Local TSDBs forget. Error stores grow. Snapshot the volume. Test a restore on a spare VM.
Alertmanager, Kuma notifications, Zabbix actions, or Sentry outbound hooks should hit Slack, email, or PagerDuty without a vendor lock on routing.
Kuma on a $5 VPS versus a Prometheus, Grafana, and Loki trio. Match the stack to the people who will patch it.
Mistakes to Avoid
- ×
Calling Sentry open source. You can self-host it. The license is FSL and BSL-style, not OSI.
- ×
Installing Grafana and wondering where the numbers are. You still need Prometheus or another store.
- ×
Using Uptime Kuma as your only production signal. A 200 on / does not mean the checkout queue is healthy.
- ×
Putting monitoring on the same disk as the app with no off-box alert path. When that VPS dies, silence is the bug.
- ×
Assuming Redis or MongoDB in the compose file is 'open source' because the dashboard repo is AGPL. Redis relicensed. MongoDB is SSPL.
Expert Tips
- →
Run Uptime Kuma on a second, cheap VPS that only watches the first. That one idea prevents a class of silent outages.
- →
If errors are the pain, try GlitchTip before you take on self-hosted Sentry, unless you already need Sentry-specific product features and accept FSL.
- →
Keep Prometheus retention honest. A 15-day local TSDB plus a weekly Grafana screenshot is a strategy. Infinite local retention is a full disk.
- →
Write the license in the README: Grafana AGPL, Prometheus Apache 2.0, Sentry FSL (not OSI), Redis relicensed, MongoDB SSPL. Future you will not remember.
- →
Netdata on a laptop is a local agent. Grafana in Docker is a server you operate. Use those words in docs so nobody asks why 'self-hosted notes' and 'self-hosted monitoring' are different jobs.
The Bottom Line
For metrics, run Prometheus and Grafana on hosts you operate. For 'is it up,' run Uptime Kuma on a second box. For classic IT checks, pick Zabbix, Nagios Core, Netdata, or Checkmk Raw by weight and UI. For errors, prefer GlitchTip when license OSI-ness matters; use Sentry only with the FSL caveat in writing. Redis relicensing and MongoDB SSPL apply to dependencies even when the UI repo looks clean.
Frequently Asked Questions
What is the best self-hosted monitoring stack in 2026?
Prometheus plus Grafana for metrics, Uptime Kuma for URL checks, and GlitchTip or Sentry for errors. Those are three jobs. One product that claims all three still needs you to operate storage for each.
Is Sentry open source?
Is Grafana still open source after the license change?
Can I run Netdata without Netdata Cloud?
Yes. The Netdata agent runs on your machine and serves local charts. Cloud is optional hosted glue. Local agent is not the same as a central Grafana you operate for a fleet, but it is self-hosted in the 'process on your box' sense.
Related Guides
Ready to Choose?
Compare features, read reviews, and find the right tool.
