Open source uptime and monitoring tools
Open source tools that check whether your sites and services are up, collect metrics from servers and applications, and trace problems through your stack. They range from a single container that pings URLs to full observability platforms built on OpenTelemetry.
14 apps, sorted by GitHub stars as of 21 October 2026. Guide updated .
-
Uptime Kuma
Self-hosted uptime monitor with dozens of check types, 90+ alert channels and status pages
-
Netdata
Per-second infrastructure monitoring with auto-discovery, built-in alerts and on-node anomaly detection
-
Grafana
Dashboards, data exploration and alerting on top of Prometheus, Loki, SQL databases and many other sources
-
Prometheus
Metrics collection, time series storage, PromQL queries and alerting rules in one CNCF server
-
SigNoz
OpenTelemetry-native APM, traces, logs and metrics in one product backed by ClickHouse
-
OpenObserve
Logs, metrics, traces and real user monitoring in one Rust binary, stored as Parquet on disk or S3
-
Upptime
Uptime monitor and status page that runs on GitHub Actions, Issues and Pages, with no server of its own
-
Gatus
Health checks and status page defined in YAML, with conditions on status, body, latency and certificates
-
Checkmate
Self-hosted uptime, server hardware, Docker and page speed monitoring with status pages
-
Healthchecks
Dead man's switch for cron jobs, systemd timers and background tasks that alerts when a run is missed
-
openstatus
Status pages, incident response and multi-region uptime checks, managed as code
-
Coroot
eBPF-based observability and APM with a service map, built-in inspections and SLO alerts
-
OneUptime
Uptime checks, status pages, incidents, on-call paging, logs, traces and metrics in one platform
-
Zabbix
Enterprise-class monitoring for networks, servers, VMs, applications and websites, with agents or agentless
Compare at a glance
| App | License | Self-hosting needs | Hosted version |
|---|---|---|---|
| Checkmate | AGPL-3.0 | MongoDB | No |
| Coroot | Apache-2.0 | ClickHouse, Prometheus, Linux kernel 4.16+ | No |
| Gatus | Apache-2.0 | SQLite or PostgreSQL (optional) | Yes |
| Grafana | AGPL-3.0-only | SQLite, MySQL or PostgreSQL | Yes |
| Healthchecks | BSD-3-Clause | PostgreSQL or MySQL/MariaDB, SMTP server | Yes |
| Netdata | GPL-3.0-or-later | Nothing beyond the app | Yes |
| OneUptime | Apache-2.0 | PostgreSQL, ClickHouse, Valkey or Redis | Yes |
| OpenObserve | AGPL-3.0 | Local disk or S3-compatible storage, HA mode: Kubernetes, PostgreSQL, NATS | Yes |
| openstatus | AGPL-3.0 | libSQL, Tinybird, Resend API key, Private probes | Yes |
| Prometheus | Apache-2.0 | Local disk storage | No |
| SigNoz | MIT | ClickHouse, ClickHouse Keeper, OpenTelemetry Collector | Yes |
| Upptime | MIT | GitHub repository with Actions and Pages | No |
| Uptime Kuma | MIT | SQLite or MariaDB | No |
| Zabbix | AGPL-3.0-only | MySQL, MariaDB or PostgreSQL, PHP web server | Yes |
License exceptions, such as proprietary directories or paid plugins, are explained on each app page.
Find an alternative to
Choosing uptime & monitoring software
Four different jobs
Monitoring tools cover four related but separate tasks, and it pays to know which one you need before you compare products.
- Uptime checks and status pages. A scheduler sends requests to URLs, ports, DNS records or other endpoints, records response times and alerts you when something fails. Most of these tools also publish a public status page. Uptime Kuma and Checkmate are configured in a web interface, Gatus and openstatus can be managed as code, and Upptime runs entirely on GitHub Actions and GitHub Pages, with no server of your own.
- Heartbeat monitoring. For cron jobs, backups and other scheduled tasks, the job reports in each time it runs and the monitor alerts you when a report does not arrive on time. Healthchecks is built for this.
- Infrastructure and metrics monitoring. Time series from hosts, containers, databases and network devices, with alert rules and dashboards. Prometheus collects and stores metrics and evaluates alerts, Grafana visualizes and alerts on data stored elsewhere, Zabbix is a complete agent-based system with SNMP and other agentless checks, and Netdata collects per-second metrics on each node with almost no setup.
- Observability and APM. Traces, logs and metrics from applications in one place, used to follow a slow request across services. SigNoz, OpenObserve and Coroot focus on this, and OneUptime combines it with uptime checks, status pages, incidents and on-call scheduling.
Prometheus and Grafana are building blocks, not finished products. A typical stack combines Prometheus, exporters, Alertmanager and Grafana, and you assemble and maintain those parts yourself.
Where your checks run from
An uptime monitor only sees the network path from where it runs. A self-hosted Uptime Kuma, Gatus or Checkmate instance on the same server or in the same data center as your site will go down with it, and it cannot tell you that visitors in another region cannot reach you. Put the monitor on separate infrastructure, or use a tool that checks from several places: the openstatus hosted service checks from many public regions, while a self-hosted openstatus only uses private probes that you deploy; OneUptime lets you run your own probes; Upptime’s checks run on GitHub’s runners.
Open standards and lock-in
Two standards decide how hard it is to change tools later. OpenTelemetry, a Cloud Native Computing Foundation project, defines vendor-neutral APIs, SDKs and a collector for generating and sending traces, metrics and logs; it deliberately leaves storage and visualization to other tools. The Prometheus exposition format, formalized as OpenMetrics, is the common text format for exposing metrics. SigNoz, OpenObserve and OneUptime accept OpenTelemetry data, and Datadog and New Relic both document OpenTelemetry ingestion too. If you instrument with OpenTelemetry rather than a vendor’s own agent, moving between backends is mostly a matter of pointing the collector somewhere else.
What to check before you choose
- The job. Uptime checks, cron heartbeats, infrastructure metrics or application traces. Several tools here do one of these well; few do all of them.
- Self-hosting effort. Uptime Kuma runs as one container with SQLite and Prometheus is a single binary, while SigNoz and OneUptime need ClickHouse, and the OneUptime docs recommend 16 GB of RAM for a production Docker Compose install. Each app page lists the documented requirements.
- Retention and storage. Telemetry grows fast. Check whether data sits on local disk or object storage, whether the tool can scale past one node, and how retention is set.
- Alerting. Notification channels, escalation, on-call schedules, and grouping so one outage does not send a hundred messages.
- Configuration as code. Gatus and openstatus are defined in YAML (openstatus also with Terraform), which makes checks easy to review and version.
- License. Several projects are open core. SigNoz and OneUptime keep enterprise code in proprietary
ee/directories, OpenObserve and Coroot sell separate enterprise editions, and Netdata’s dashboard UI is closed source even though its agent is GPL. The app pages explain what each open source edition includes.
Source-available projects not listed
Some well-known projects are not open source under the OSI definition, so they are not listed here. Graylog, a log management platform, is released under the Server Side Public License. Sentry, which includes uptime and cron monitors next to error tracking, uses the Functional Source License, under which each version becomes Apache-2.0 only after two years. Both licenses place conditions on offering the software as a service or in a competing product, and neither is an OSI-approved license.