TiloBox
Back to directory
Gatus project preview

Gatus

Gatus monitors configured endpoints, evaluates response conditions, displays results on a status page, and can send alerts.

LicenseApache-2.0
GitHub stars11.9k
Last commit2 weeks ago
Tags5 topics
AlertingSelf HostedStatus PageDockerYaml
Overview

Why consider Gatus?

Gatus is a developer-oriented health dashboard that evaluates endpoint status and metrics proactively using flexible conditions.

Guided learning

Learn Gatus by building

Practical setup notes, real use cases, and copy-ready examples in one focused guide.

3 min read 4 sections
In this guide4 sections

Proactive Endpoint Monitoring

Most monitoring setups trigger an alert only after an error occurs for a user. Your metrics will not report an increase in errors if no traffic makes it to your applications. Gatus flips this dynamic by polling your application proactively. Instead of waiting for a client to hit a failed route, you define automated health checks that simulate real requests. Gatus evaluates the status code, response time, SSL certificate expiration, and response body payload. When an endpoint stops functioning properly, you receive a notification before your clients are even aware of the degradation.

Conditions and Evaluation

Checking an HTTP status code is a good start, but actual API stability often requires deeper inspection. Gatus lets you build advanced condition rules to establish confidence in your endpoints. You can instruct Gatus to extract specific fields from a JSON response, assert that an array has a minimum length, or confirm that an SSL certificate will not expire within the next 48 hours.

You control the frequency of checks and apply flexible matching logic. For instance, you can verify that an internal property equals a specific string, or that a response is returned within an acceptable timeframe. The project supports HTTP, ICMP, TCP, and DNS queries, which gives you the flexibility to monitor various infrastructure layers.

Alerting Integrations

Visual dashboards help you confirm health at a glance, but continuous observation is impractical. Gatus integrates with your existing workflow by supporting an extensive list of alerting providers. Out of the box, it can deliver notifications to Slack, Discord, PagerDuty, Microsoft Teams, and Twilio. If an endpoint fails a defined condition—like an elevated response time or a malformed JSON body—Gatus dispatches an alert through your configured channels, allowing you to react immediately. You can even configure a custom alerting provider for any specific needs you might have.

Configuration and Deployment

Gatus requires minimal resources and is configured via a YAML file. You can deploy it quickly using Docker, mounting your configuration file into the container.

To get started quickly with the standard image, use the official Docker command:

console
1docker run -p 8080:8080 --name gatus ghcr.io/twin/gatus:stable

By default, Gatus expects a configuration file located at config/config.yaml. Inside this file, you declare the endpoints you want to monitor along with their specific conditions. Here is an example of an endpoint definition:

yaml
1endpoints:
2 - name: website # Name of your endpoint, can be anything
3 url: "https://twin.sh/health"
4 interval: 5m # Duration to wait between every status check (default: 60s)
5 conditions:
6 - "[STATUS] == 200" # Status must be 200
7 - "[BODY].status == UP" # The json path "$.status" must be equal to UP
8 - "[RESPONSE_TIME] < 300" # Response time must be under 300ms
9
10 - name: make-sure-header-is-rendered
11 url: "https://example.org/"
12 interval: 60s
13 conditions:
14 - "[STATUS] == 200" # Status must be 200
15 - "[BODY] == pat(*<h1>Example Domain</h1>*)" # Body must contain the specified header

With these definitions in place, Gatus continuously polls the target, evaluates the defined conditions, and keeps you informed of the true operational status of your services.

Related tools

More options with a similar category or technology profile.

Gatus FAQs

Gatus is listed as a Monitoring tool on TiloBox. Review the overview, features, and official documentation on this page to decide whether it solves your specific workflow.

Start with the project's GitHub repository and official website for supported installation and deployment instructions. Test the setup with representative data or a small project before rolling it out more widely.

Gatus is listed under the Apache-2.0 license. Read the complete license text and the project's notices before using, modifying, or distributing the software.

Production readiness depends on your requirements. Review maintenance activity, security practices, documentation, backup and upgrade procedures, and compatibility with your stack; then validate it in a non-production environment.

Gatus is listed as an alternative to Statuspage. Compare the core workflow, deployment model, integrations, and licensing against your must-have requirements before switching.