Gatus logo

Gatus

Proactive service health dashboard with flexible checks and alerts

Gatus provides real‑time health monitoring for HTTP, ICMP, TCP, DNS and more, letting you define custom conditions and receive instant alerts via Slack, PagerDuty, Teams, and dozens of other channels.

Gatus banner

Overview

Overview

Gatus is aimed at developers, site‑reliability engineers and operations teams that need proactive visibility into service health. It can probe HTTP, HTTPS, ICMP, TCP, DNS, UDP, SCTP, WebSocket, SSH and TLS endpoints, applying rich conditions on status codes, response bodies, latency, certificate expiration and even IP addresses. When a condition fails, Gatus can instantly fire alerts through Slack, Teams, PagerDuty, Discord, Twilio, Google Chat and many other providers, keeping the right people informed before users notice a problem.

Deployment

The application ships as a single Go binary with a tiny memory and CPU footprint, making it ideal for containerised environments. You can run it locally with Docker, deploy it to Kubernetes via the official Helm chart, or provision it with Terraform. Configuration is a human‑readable YAML file that supports grouping, suites and dynamic placeholders, and the built‑in Prometheus exporter lets you scrape uptime, response‑time and alert metrics for further analysis.

Highlights

Flexible health‑check conditions on status, body, latency, certificates, IP, etc.
Built‑in alerting to Slack, Teams, PagerDuty, Discord, Twilio and many more.
Minimal resource footprint; runs as a single Go binary.
Simple YAML configuration with Docker and Helm deployment options.

Pros

  • Proactive monitoring independent of inbound traffic.
  • Wide protocol support (HTTP, ICMP, TCP, DNS, etc.).
  • Rich alerting ecosystem with dozens of integrations.
  • Simple, readable configuration and low overhead.

Considerations

  • No built‑in distributed storage; relies on local file or external DB for state.
  • Advanced UI features limited compared to full‑stack observability platforms.
  • Requires manual configuration for each endpoint; no auto‑discovery.
  • Alert routing logic is basic; complex escalation may need external tools.

Managed products teams compare with

When teams consider Gatus, these hosted platforms usually appear on the same shortlist.

Better Stack (Uptime) logo

Better Stack (Uptime)

Uptime monitoring and incident management service that alerts teams when websites or services go down

incident.io logo

incident.io

All-in-one AI platform for incident management, on-call, and status pages

Instatus logo

Instatus

Status page and incident monitoring platform for service uptime

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Teams needing proactive uptime checks before users notice issues.
  • Developers who want to embed health checks into CI/CD pipelines.
  • Small to medium services where low resource usage is critical.
  • Organizations that prefer self‑hosted, configurable alerting.

Not ideal when

  • Enterprises requiring out‑of‑the‑box auto‑discovery of services.
  • Environments that need deep analytics dashboards and long‑term metric storage.
  • Use cases demanding built‑in incident management workflows.
  • Scenarios where a single vendor SaaS solution is preferred.

How teams use it

Pre‑deployment health verification

Automated checks confirm new releases meet response‑time and content expectations before traffic is routed.

External API uptime monitoring

Detect downtime of third‑party services early and trigger Slack alerts to mitigate impact.

Certificate expiration tracking

Monitor TLS certificates and receive PagerDuty notifications before they expire.

Kubernetes service health dashboard

Deploy Gatus in a cluster to visualize status of all microservices with real‑time badges.

Tech snapshot

Go91%
Vue8%
JavaScript1%
HTML1%
CSS1%
Dockerfile1%

Tags

monitoruptime-monitoringstatusself-hosteduptimegoalertingslackdashboardstatus-pagecontainermonitoringstatuspagenotificationsdevopshealthgolangdockerselfhostedmonitoring-tool

Frequently asked questions

Can Gatus monitor non‑HTTP protocols?

Yes, it supports ICMP, TCP, DNS, UDP, SCTP, WebSocket, SSH, STARTTLS, TLS and more.

How are alerts configured?

Alerts are defined per endpoint in the YAML file and can use built‑in providers such as Slack, Teams, PagerDuty, Discord, Twilio, or custom webhooks.

What storage options are available?

Gatus can store state in a local file, SQLite, MySQL, PostgreSQL, or external key‑value stores via its storage interface.

Is there a Kubernetes‑native deployment?

Yes, Gatus provides a Helm chart and can run as a container in any Kubernetes cluster.

Does Gatus expose metrics for Prometheus?

It exposes standard Prometheus metrics on the /metrics endpoint for uptime, response time and alert counts.

Project at a glance

Active
Stars
9,808
Watchers
9,808
Forks
645
LicenseApache-2.0
Repo age6 years old
Last commityesterday
Self-hostingSupported
Primary languageGo

Last synced 12 hours ago