Gatus alternative for teams who do not want to host the monitor

Logdash runs the HTTP checks from our infrastructure instead of from a container you keep alive, so you trade a YAML file in git for a monitor that does not go down with the host it is watching.

Gatus is good software. You describe checks in YAML, it evaluates them on an interval, and the whole thing is one binary with SQLite behind it if you want history. People rarely leave because the tool disappointed them. They leave because the monitor became a service, and a monitor that dies quietly is worse than no monitor.

That is the failure mode worth naming. The Gatus container shares a host with the app it watches, the host goes down, and both go with it. Or the volume fills and history stops being written. Nobody finds out, because the thing that would have told you is the thing that broke. Moving Gatus to its own box fixes that and hands you a second deployment to patch.

Logdash checks your endpoints from outside your network. There is no config file, which is a genuine loss: no diff, no review, no config in git. What you get is an HTTP monitor with a URL, an interval, status code and response time history, a public status page on your own domain, and alerts to Telegram or a webhook. Two channels, not forty. Gatus ships providers for PagerDuty, Opsgenie, Slack and email, and Logdash does not.

Be clear about the rest of the gap. Logdash checks HTTP status codes and response time. Certificate expiry, domain expiry, DNS, TCP and ICMP are all things Gatus does and Logdash does not. And while Logdash is MIT licensed with the source on GitHub, self-hosting is not a one-command install today. It runs locally for development, and production self-hosting is tracked as an open issue. If self-hosting is the whole point, Gatus wins and you should stay on it.

The endpoint both tools check

health.go
func health(w http.ResponseWriter, r *http.Request) {
	if err := db.PingContext(r.Context()); err != nil {
		http.Error(w, "database unreachable", http.StatusServiceUnavailable)
		return
	}

	w.Header().Set("Content-Type", "application/json")
	json.NewEncoder(w).Encode(map[string]string{"status": "up"})
}

Gatus points at that with an endpoints entry, an interval and a condition on the status code. Logdash asks for the same three things in a form. The endpoint does not change, so you can run both against it for a week before you turn either one off.

  1. 1
    Add the monitor Paste the health URL and pick an interval. The first check runs immediately, so within seconds you know whether the URL answers from outside your own network.
  2. 2
    Publish the status page Switch the monitor onto a public page and map your own domain to it. Uptime and response time history start filling in from the first check.
  3. 3
    Connect Telegram Attach a Telegram channel and stop the container on purpose. The check fails, and the alert lands in your chat with the URL and the status code.

Logdash vs Gatus

FeatureLogdashGatus
Who keeps the monitor runningWe doYou do, along with its storage
Public status pageHosted page on your own domainExpose the Gatus dashboard yourself
Logs and metricsSame dashboard, eight SDKsUptime only, by design
Config as codeBrowser form, no fileYAML in git, reviewed like code
Self-hostingLocal development only todayOne binary, SQLite or Postgres
Check typesHTTP status and response timeAdds DNS, TCP, ICMP, certificate and domain expiry
Open sourceMITApache 2.0

When Gatus is the better pick

  • Your checks belong in git. A YAML file that goes through review is a better artefact than a row in a database you do not own.
  • You need certificate expiry, domain expiry, DNS, TCP or ICMP checks. Logdash does HTTP and nothing else.
  • You need to self-host in production today. Gatus does that, Logdash does not.
  • You already page through PagerDuty or Opsgenie. Gatus has providers for both; Logdash has Telegram and webhooks.

What moving actually looks like

Read the endpoints block out of your config and recreate each url and interval as a monitor. Leave Gatus running while you do it, watch both for a week, then compare the two incident timelines and delete the one you trust less. Anything Gatus watches that is not HTTP has no equivalent here, so keep a small instance around for those.

Is there a hosted version of Gatus?

Yes. Gatus.io is a managed offering from the same author, so you can keep the tool and drop the container. Logdash is a different product with logs and metrics attached, not a hosted Gatus.

Is Logdash open source like Gatus?

Yes, MIT licensed with the source on GitHub. The difference is production self-hosting: Gatus ships a binary you can run today, Logdash runs locally for development and the rest is tracked on GitHub.

Can I import my gatus.yaml?

No, there is no importer. You recreate each endpoint as an HTTP monitor by hand. For most setups that is a ten minute job.

Does Logdash check SSL certificate expiry like Gatus?

No. Logdash checks HTTP status codes and response time and accepts push heartbeats. Certificate expiry, domain expiry, DNS, TCP and ICMP are Gatus-only.

Point it at your own URL and watch it for real.

Any public URL · checked every 15 s