---
title: "Open source website monitoring, compared | Logdash"
description: "Uptime Kuma, Gatus, Upptime, Checkmate, OpenStatus and Logdash: each open source website monitor's licence, where it runs and who keeps it alive."
url: https://logdash.io/learn/website-monitoring-open-source
---

# Open source website monitoring

Open source website monitoring means a checker whose code you can read and run yourself: Uptime Kuma or Gatus if you want to host it, Upptime if you want GitHub Actions to run it, and Logdash if you want the code open but the monitor run for you.

Open source answers one question: can you read the code and run it without asking anyone. It does not answer the question that matters at 3am, which is who keeps the monitor itself running. A self-hosted checker on the same VPS as your site goes down with your site and tells nobody. Pick by where it runs first and by licence second.

## Open source uptime monitors worth knowing

- Uptime Kuma, MIT, 90,000+ GitHub stars. Runs on your server as one Docker container with a web UI. The default for a reason.
- Gatus, Apache 2.0, 12,000+ stars. One Go binary driven by a YAML file, on your server or as the managed version at gatus.io.
- Upptime, MIT, 17,000+ stars. Runs on GitHub Actions in your own repository, checks every 5 minutes, opens an issue per outage and publishes a status page on GitHub Pages.
- Checkmate, AGPL-3.0, 10,000+ stars. A newer Kuma-style app on Node.js and MongoDB, installed with Docker Compose.
- OpenStatus, AGPL-3.0, 9,000+ stars. Hosted with checks from 28 regions, or self-hosted with Docker Compose, where checks only run from probes you deploy.
- Logdash, AGPL-3.0\. Hosted HTTP checks with status code and response time, Telegram and webhook alerts and a public status page, plus logs and metrics from eight SDKs. The code is public; production self-hosting is not ready yet.

## Open source URL monitoring as a config file

If open source to you means checks you can diff, Gatus is the cleanest example. This file watches one URL every minute, fails the check on anything but a 200 or a response slower than 1 second, and messages Telegram after 3 failures in a row, which is the default threshold, and again on recovery.

 config.yaml 

```yaml
# docker run -p 8080:8080 -e TELEGRAM_TOKEN -e TELEGRAM_CHAT_ID \
#   --mount type=bind,source="$(pwd)"/config.yaml,target=/config/config.yaml \
#   ghcr.io/twin/gatus:stable
alerting:
  telegram:
    token: "${TELEGRAM_TOKEN}"
    id: "${TELEGRAM_CHAT_ID}"

endpoints:
  - name: website
    url: "https://example.com/health"
    interval: 1m
    conditions:
      - "[STATUS] == 200"
      - "[RESPONSE_TIME] < 1000"
    alerts:
      - type: telegram
        send-on-resolved: true
```

Run it on a different machine from the site it watches, ideally with a different provider. That one rule matters more than which tool on this page you choose.

## Website uptime monitoring, open source, without the server

Logdash takes the other trade. The code is AGPL-3.0 on GitHub, so you can read exactly what a check does: one GET with a 10 second timeout, any status from 200 to 399 counts as up, and an alert fires when the monitor flips to down and again when it flips back. What you do not do is run it. That is a loss if self-hosting was the requirement, and a relief if the requirement was a monitor that survives your server. Checks run every 5 minutes on the free plan, every minute on Builder and every 15 seconds on Pro.

1. **Add the URL** Paste the address of your site or its health endpoint. The first check runs straight away, from outside your network.
2. **Connect Telegram** Add a Telegram channel once and attach it to the monitor. A webhook works too if you want to route alerts through your own code.
3. **Break it on purpose** Point the monitor at a path that returns 500, or stop the app. On the next check it flips to down and the Telegram alert arrives with the status code and the error.

### Logdash vs Gatus

| Feature                            | Logdash                            | Gatus                                                   |
| ---------------------------------- | ---------------------------------- | ------------------------------------------------------- |
| Who keeps the checker running      | We do, outside your network        | You do, on a box you patch                              |
| Checks in git                      | No, a form in the browser          | YAML, reviewed like code                                |
| Check types                        | HTTP status code and response time | Adds TCP, ICMP, DNS, TLS, certificate and domain expiry |
| Alert channels                     | Telegram and webhook               | 40+ providers, Telegram included                        |
| Licence                            | AGPL-3.0                           | Apache 2.0                                              |
| Self-hosting in production         | Not ready yet                      | One container                                           |
| Logs and metrics beside the checks | Eight SDKs into the same service   | Uptime only, by design                                  |

### When Gatus is the better pick

- Open source means you run it. Gatus does that today and Logdash does not.
- Your checks belong in a pull request. A reviewed YAML file beats a form nobody audits.
- You need TCP, DNS, ICMP or certificate expiry checks. Logdash checks HTTP and nothing else.

### Does the licence of open source website monitoring matter? 

Only if you change the code and offer it to others as a service. MIT and Apache 2.0 let you do anything. AGPL-3.0, used by Logdash, Checkmate and OpenStatus, lets you run and change it for any purpose, including commercial, but a modified version you run for other people has to be published under the same licence.

### Is there open source URL monitoring that runs without a server? 

Upptime. It runs on GitHub Actions in your own repository, checks every 5 minutes and costs nothing. The trade is the 5-minute floor and scheduled runs that can start late when runners are busy.

### Is Logdash open source website monitoring? 

Yes, AGPL-3.0 with the code on GitHub. The hosted version is what you use today. Production self-hosting means wiring up MongoDB, Redis and ClickHouse by hand and is tracked as an open issue.

### Is website uptime monitoring open source software really free? 

The software is. The server, its backups and the hours spent patching it are not, and the monitor is only as reliable as the box it runs on. The Logdash free plan covers 5 services at a 5-minute interval if you would rather run nothing.

## Keep reading

[All uptime monitoring explainers](https://logdash.io/learn): Fourteen uptime questions, each answered in one sentence, then the math or the command behind it.

[Best self hosted uptime monitor](https://logdash.io/learn/best-self-hosted-uptime-monitor): Uptime Kuma is the best self hosted uptime monitor for most people, Gatus is better if you want your checks in a YAML file in git, Upptime is better if you want no server at all, and Logdash cannot be self-hosted in production with one command yet.

[Pingdom speed test alternative](https://logdash.io/learn/pingdom-speed-test-alternative): PageSpeed Insights is the free Pingdom speed test alternative most people should use, WebPageTest is better for waterfalls and repeat runs, and GTmetrix works after a free signup; none of them watch your site between tests, which is what an uptime monitor like Logdash is for.

[What is uptime monitoring](https://logdash.io/learn/what-is-uptime-monitoring): Uptime monitoring is a service outside your infrastructure that requests your URL on a fixed interval, records the status code and response time of every answer, and alerts you when a check fails, so you hear about an outage before your users do.

[Uptime monitoring](https://logdash.io/features/monitoring): HTTP checks as often as every 15 seconds. When one fails, Telegram tells you before your users do.
