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.
Metrics, uptime, and errors on a VPS or cluster you operate, with license caveats where OSI no longer applies.
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
Picked by editorial review, informed by G2 and Capterra review volume and rating and by media mentions, the signals behind our category rankings. How we rate
AGPL dashboard layer you run yourself; talks to Prometheus, Loki, and a long plugin list.
Starting price
From $19 /mo
4.5 (275 reviews)
Best for
Anyone who needs one UI on metrics (and often logs) stored in backends they already operate
Apache 2.0 scrape-and-TSDB core; the default self-hosted metrics brain for Kubernetes and VMs.
Starting price
Free
4.5 (61 reviews)
Best for
Teams that will run exporters and learn PromQL rather than buy a hosted metrics SKU
MIT-licensed uptime monitor and status page in one Docker container you operate.
Starting price
Free
4.6 (348 reviews)
Best for
Solo ops and small teams who want HTTP, TCP, and DNS checks without a SaaS node limit
| Tool | Starting price | Rating | Best for |
|---|---|---|---|
| Grafana | From $19/mo | 4.5 275 reviews | Anyone who needs one UI on metrics (and often logs) stored in backends they already operate |
| Prometheus | Free | 4.5 61 reviews | Teams that will run exporters and learn PromQL rather than buy a hosted metrics SKU |
| Uptime Kuma | Free | 4.6 348 reviews | Solo ops and small teams who want HTTP, TCP, and DNS checks without a SaaS node limit |
| Zabbix | From $50/mo | 4.5 320 reviews | IT teams that want one self-hosted check engine for servers, SNMP, and services |
| Nagios | Free plan | 4.5 58 reviews | Ops teams that already think in host and service configs and plugin checks |
| Netdata | Free plan | 4.8 82 reviews | People who want live, dense host metrics on the box itself, plus an optional central view they host or skip |
| Checkmk | From $240/mo | 4.7 344 reviews | IT teams that want a denser check-and-inventory UI than Nagios Core and will run Raw themselves |
| Sentry | From $26/mo | 4.6 297 reviews | Teams that want Sentry's error product on their own VPS and will document the source-available license |
| GlitchTip | From $15/mo | n/a | Teams that already emit Sentry SDK events and want a self-hosted store that is not FSL |
- Starting price
- From $19/mo
- Free plan
- Yes
- Rating
- 4.5 (275 reviews)
Best for: Anyone who needs one UI on metrics (and often logs) stored in backends they already operate
- Pro: Self-hosted Grafana has no dashboard or user cap in the OSS/AGPL build
- Pro: Native Prometheus datasource plus a huge public dashboard library
- Pro: You operate the server: a container or binary behind TLS, same pattern as other picks in this file
- Con: Grafana Labs moved Grafana from Apache 2.0 to AGPLv3; still OSI open source, but legal will want the AGPL note
- Con: Reporting, some auth sync, and finer RBAC sit on paid Grafana Enterprise or Cloud
Grafana OSS is completely free for self-hosted visualization.
Watch out
14-day retention on Free; 30 days on Pro (logs/traces)
Prometheus
Apache 2.0 scrape-and-TSDB core; the default self-hosted metrics brain for Kubernetes and VMs.
- 4.5 on G2 (61 reviews)
- Starting price
- Free
- Free plan
- Free to use
- Rating
- 4.5 (61 reviews)
Best for: Teams that will run exporters and learn PromQL rather than buy a hosted metrics SKU
- Pro: Apache 2.0, CNCF graduated, no enterprise key to scrape or alert
- Pro: Pull model and the exporter ecosystem are the language every new stack still speaks
- Pro: Alertmanager ships with the project; you run it on your network
- Con: Local TSDB retention is short by default; long history wants Thanos, Mimir, or VictoriaMetrics, which you also operate
- Con: No native HA story beyond running two Prometheuses
Prometheus is 100% free and open source (Apache 2.0).
Watch out
Storage costs grow linearly with metric cardinality and retention period
Uptime Kuma
MIT-licensed uptime monitor and status page in one Docker container you operate.
- 4.6 on G2 (348 reviews)
- Starting price
- Free
- Free plan
- Free to use
- Rating
- 4.6 (348 reviews)
Best for: Solo ops and small teams who want HTTP, TCP, and DNS checks without a SaaS node limit
- Pro: One container, SQLite, no paid tier, no node cap
- Pro: HTTP(S), TCP, DNS, Docker, and a public status page in the same UI
- Pro: Dozens of notification channels configured in the app you host
- Con: Single instance; if Kuma is down, checks stop unless you add your own HA
- Con: Not a metrics TSDB and not an error tracker
Uptime Kuma's pricing is exceptionally generous, being entirely free.
- Starting price
- From $50/mo
- Free plan
- Yes
- Rating
- 4.5 (320 reviews)
Best for: IT teams that want one self-hosted check engine for servers, SNMP, and services
- Pro: Zabbix is GPLv2 with no host cap on the software you operate
- Pro: Agents, SNMP, IPMI, and a large template library for switches and appliances
- Pro: Mature release line; this is not a weekend side project
- Con: Heavier than Uptime Kuma: server, proxies, database, and a learning curve
- Con: UI and templating take study time; this is a job, not a one-hour compose
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.
- Starting price
- Free plan
- Free plan
- Yes
- Rating
- 4.5 (58 reviews)
Best for: Ops teams that already think in host and service configs and plugin checks
- Pro: Nagios Core is GPLv2, no node meter, two decades of plugin patterns
- Pro: Runs on modest hardware with a plugin for almost any check you can script
- Pro: Config-as-files fits environments that already version-control monitoring
- Con: Do not confuse Core with Nagios XI, which is commercial
- Con: Web UI looks old next to Grafana
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.
Netdata
Per-second agent you run on each machine; optional Netdata Cloud is not required for local charts.
- 4.6 on G2 (54 reviews)
- 5.0 on Capterra (25 reviews)
- 5.0 on SourceForge (3 reviews)
- Starting price
- Free plan
- Free plan
- Yes
- Rating
- 4.8 (82 reviews)
Best for: People who want live, dense host metrics on the box itself, plus an optional central view they host or skip
- Pro: The agent runs on your machine: laptop, VM, or metal, with charts at per-second resolution
- Pro: You can stay local and never send metrics to Netdata Cloud
- Pro: Low-friction install for 'what is eating CPU right now' without building a Prometheus exporter first
- Con: Netdata Cloud is a hosted extra; treat it as optional SaaS, not as the self-host definition
- Con: Long-term, fleet-wide PromQL history is still Prometheus's job
Netdata offers an incredibly generous open-source agent, making it highly accessible for individual users and small teams to get started with robust monitoring.
Checkmk
Raw Edition is the GPLv2 self-host path; Cloud and Enterprise are paid.
- 4.7 on G2 (306 reviews)
- 4.7 on Capterra (36 reviews)
- 4.6 on TrustRadius (2 reviews)
- Starting price
- From $240/mo
- Free plan
- Yes
- Rating
- 4.7 (344 reviews)
Best for: IT teams that want a denser check-and-inventory UI than Nagios Core and will run Raw themselves
- Pro: Checkmk Raw is the self-hosted, GPLv2-shaped edition for people who will operate the site
- Pro: Auto-discovery and a large check library reduce hand-written configs versus raw Nagios
- Pro: Covers hosts, services, and a lot of appliance checks in one product
- Con: Cloud and Enterprise editions are paid; do not quote Raw features from an Enterprise screenshot
- Con: Denser UX than Uptime Kuma; plan onboarding time
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.
- Starting price
- From $26/mo
- Free plan
- Yes
- Rating
- 4.6 (297 reviews)
Best for: Teams that want Sentry's error product on their own VPS and will document the source-available license
- Pro: Self-hosted Sentry keeps stack traces and release data on your infrastructure
- Pro: SDK coverage is the industry default; most app languages already have a client
- Pro: Grouping, releases, and breadcrumbs are why teams know the name
- Con: Not OSI open source. FSL and BSL-style terms are source-available. Do not write 'open source Sentry' without that caveat
- Con: Self-host is operationally heavy; hosted Sentry exists because this stack is not Uptime Kuma
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
Tracing is billed by spans (5M included on every plan), not errors. Logs and metrics (5GB included) and uptime monitors are separate meters. Heavy span usage can raise the bill beyond error tracking alone
- Starting price
- From $15/mo
- Free plan
- Yes
Best for: Teams that already emit Sentry SDK events and want a self-hosted store that is not FSL
- Pro: Speaks the Sentry protocol, so many apps can retarget the DSN to GlitchTip you host
- Pro: License is more liberal than Sentry's FSL and BSL-style terms; this is the pick when OSI or 'real OSS' is the gate
- Pro: Error grouping and a usable UI without paying Sentry Cloud
- Con: Not feature-identical to current Sentry Cloud; replay and some product surfaces will be thinner
- Con: Smaller company and community than Sentry, so you own more of the sharp edges
GlitchTip's pricing is quite generous, especially for smaller teams and projects.
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
You run the data plane (Essential)
Scrapes, checks, or error events must land in storage you operate. A SaaS agent that only ships outbound is not self-hosted monitoring.
Honest license label (Essential)
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.
The right layer: metrics, uptime, or errors (Essential)
Prometheus is not an uptime robot. Uptime Kuma is not PromQL. Sentry is not a CPU graph.
Retention and backups (Important)
Local TSDBs forget. Error stores grow. Snapshot the volume. Test a restore on a spare VM.
Alert routing you control (Important)
Alertmanager, Kuma notifications, Zabbix actions, or Sentry outbound hooks should hit Slack, email, or PagerDuty without a vendor lock on routing.
Footprint you can staff (Nice to have)
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.
- →
- →
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.
Cite this page: Toolradar, "Best Self-Hosted Monitoring Tools in 2026", updated September 2026, https://toolradar.com/guides/best-self-hosted-monitoring
Sources
Prices and plan details on this page come from each vendor's own pricing page, re-checked by the Toolradar pricing tracker:
- Grafana pricing, checked
- Prometheus pricing, checked
- Uptime Kuma pricing, checked
- Zabbix pricing, checked
- Nagios pricing, checked
- Netdata pricing, checked
- Checkmk pricing, checked
- Sentry pricing, checked
- GlitchTip pricing, checked
Related Guides
Some offers on this page may be paid placements or contain affiliate links.
