Skills2026年4月10日·1 分钟阅读

Gatus — Automated Status Page with Health Checks & Alerts

Gatus is a developer-oriented health dashboard and status page. Define endpoints in YAML, get automated monitoring with uptime badges, alerts, and a beautiful status page.

Agent 就绪

先审查再安装

这个资产需要先审查。复制的指令会要求 Agent dry-run、列出写入项,确认后再继续。

Needs Confirmation · 64/100策略:需确认
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
step-1.md
先审查命令
npx -y tokrepo@latest install 592ca5d9-34e1-11f1-9bc6-00163e2b0d79 --target codex

先 dry-run,确认写入项后再运行此命令。

TL;DR
Gatus monitors endpoints defined in YAML, generates uptime badges, sends alerts, and displays a clean status page for your services.
§01

What it is

Gatus is a developer-oriented health monitoring tool that checks service availability and displays results on a status page. Endpoints are defined in YAML configuration files with conditions that must be met for a service to be considered healthy. Gatus checks HTTP responses, DNS records, TCP connections, and more on configurable intervals.

It targets DevOps engineers and development teams who want a lightweight status page and health monitoring system without the overhead of full monitoring platforms like Prometheus or Datadog.

§02

How it saves time or tokens

Gatus replaces the need to build a custom status page. Define your endpoints and health conditions in YAML, deploy Gatus, and you have a production-ready status page with uptime history, response time charts, and embeddable badges.

The condition-based health checking is more flexible than simple up/down pings. You can check HTTP status codes, response body content, response time thresholds, certificate expiration, and DNS resolution results in a single endpoint definition.

§03

How to use

  1. Create a config.yaml defining your endpoints with health conditions. Each endpoint specifies a URL, check interval, and conditions to evaluate.
  2. Deploy Gatus with Docker: docker run -p 8080:8080 -v ./config.yaml:/config/config.yaml twinproduction/gatus. The status page is available at port 8080.
  3. Configure alerting to receive notifications via Slack, Discord, PagerDuty, email, or webhooks when endpoints fail their health conditions.
§04

Example

# config.yaml
endpoints:
  - name: API
    url: 'https://api.example.com/health'
    interval: 60s
    conditions:
      - '[STATUS] == 200'
      - '[RESPONSE_TIME] < 500'
      - '[BODY].status == up'
    alerts:
      - type: slack
        send-on-resolved: true

  - name: Website
    url: 'https://example.com'
    interval: 120s
    conditions:
      - '[STATUS] == 200'
      - '[CERTIFICATE_EXPIRATION] > 720h'

  - name: Database
    url: 'tcp://db.example.com:5432'
    interval: 30s
    conditions:
      - '[CONNECTED] == true'

alerting:
  slack:
    webhook-url: 'https://hooks.slack.com/services/xxx/yyy/zzz'
§05

Related on TokRepo

§06

Common pitfalls

  • Defining too many conditions without understanding precedence. If any condition fails, the endpoint is marked unhealthy. Start with basic status code checks and add response time and body checks incrementally.
  • Not configuring persistent storage for uptime history. Without a database (SQLite or PostgreSQL), Gatus loses all historical data on restart. Mount a volume for the SQLite database to persist uptime records.
  • Checking endpoints too frequently from a single instance. Very short intervals (under 10 seconds) can trigger rate limiting or appear as attack traffic to the monitored service. Use reasonable intervals for external endpoints.

常见问题

What can Gatus monitor?+

Gatus monitors HTTP/HTTPS endpoints, TCP connections, DNS records, ICMP ping, and SSH connections. Health conditions can check status codes, response times, response body content (including JSON paths), SSL certificate expiration, and DNS resolution results.

How does the status page look?+

Gatus provides a clean, responsive status page showing each endpoint with its current status, response time graph, and uptime percentage over configurable time windows. The page supports dark mode and can be customized with logos and descriptions.

Can I embed uptime badges?+

Yes. Gatus generates SVG badges for each endpoint showing uptime percentage and response time. Embed these badges in README files, documentation, or dashboards using the badge URL: /api/v1/endpoints/{key}/uptimes/{duration}/badge.svg.

What alerting channels does Gatus support?+

Gatus supports Slack, Discord, PagerDuty, Pushover, Mattermost, Telegram, Twilio, email (SMTP), Teams, Google Chat, Opsgenie, and custom webhooks. Alerts fire when conditions fail and optionally send resolved notifications when services recover.

How does Gatus compare to Uptime Kuma?+

Both are self-hosted status page tools. Gatus uses YAML configuration and is more developer-oriented with powerful condition expressions. Uptime Kuma has a web UI for adding monitors and is more accessible to non-technical users. Gatus supports configuration-as-code, which integrates better with Git workflows.

引用来源 (3)

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产