A highly customizable monitoring solution that provides automated status pages, extensive alerting options, and detailed testing capabilities for your services and infrastructure

Overview:

Gatus is a developer-oriented health dashboard that monitors services using HTTP, ICMP, TCP, and DNS queries. It evaluates the results of these queries against configurable conditions on values like status code, response time, certificate expiration, and response body. Each health check can be paired with alerting through services such as Slack, Discord, PagerDuty, Twilio, and many others. The project is designed for developers and operators who need proactive health monitoring that does not rely on existing traffic or client errors to detect issues. It can be deployed in environments like Kubernetes, Docker, or as a binary.

Core Features:

  • Flexible health check conditions: Supports conditions on response status, response time, response body, IP address, and certificate or domain expiration.

  • Multi-protocol monitoring: Can monitor endpoints using HTTP, HTTPS, ICMP, TCP, DNS, SSH, gRPC, WebSocket, STARTTLS, TLS, and UDP.

  • Extensive alerting integrations: Supports alerting providers including Slack, Teams, PagerDuty, Discord, Twilio, Telegram, Mattermost, Email, AWS SES, ClickUp, Datadog, and many more.

  • Sequential suite execution (ALPHA): Allows chaining of endpoints with a shared context for multi-step monitoring workflows like login flows or API chains.

  • External endpoint push: Supports programmatic status injection via API for services not directly accessible by the Gatus instance.

  • Prometheus metrics: Exposes metrics at /metrics when enabled, including result counts, duration, certificate expiration, and domain expiration.

Use Cases:

  • Monitoring critical services before client impact: Developers can define health checks for features to detect failures before users are affected, instead of relying on metrics from existing traffic.

  • Automated user acceptance tests: Conditions on response body and status can be used to create repeatable acceptance tests for endpoints.

  • Monitoring services behind firewalls or private networks: External endpoint push allows agents in private environments to report status to a public Gatus dashboard.

  • Complex multi-step workflows: Suites enable sequential endpoint execution with context sharing, useful for testing authentication flows or chained API operations.

Why It Matters:

Gatus offers a self-hosted health monitoring solution that does not require existing application traffic to detect failures. Its condition system goes beyond simple status code checks, allowing evaluation of response time, body content, certificate expiration, and domain expiration. The support for SSH tunneling, client configuration (OAuth2, mTLS, custom DNS), and a configurable connectivity checker makes it adaptable to varied deployment environments. The project also provides an API for programmatic access and emits Prometheus-compatible metrics, supporting integration with existing observability stacks.

PartagerXLinkedInReddit

Outils associés

Statistiques du projet

Étoiles

10,814

Forks

728

Licence

Apache-2.0

Métadonnées

Alternative à
Opsgenie