TwiN/gatus

GITHUB项目档案

主语言 Go · 12,419 星 · Apache-2.0 · 创建于 2019-09-04

打开 GitHub 仓库

Automated developer-oriented status page with alerting and incident support

Stars 12,419 累计 star,越多说明被认可得越广
Watching 44 订阅该仓库变动的人数
Forks 878 被派生出去的仓库数
Issues 429 当前开放的 Issue 数
语言 Go GitHub 自动判定的主语言
许可证 Apache-2.0 开源协议,用之前先确认能不能商用
24h 增长 — 数据积累中
7 日增长 — 数据积累中
30 日增长 — 数据积累中

仓库健康度

5 个维度
只看客观信号,不构成安全性结论
维护活跃度 数据完整
2026-10-26 14:41 最近推送

最近推送 2026-10-26 14:41(2 天前),属于活跃维护

社区响应 数据完整
429 开放 Issue

开放 Issue 429 个 · Fork 878 个

增长趋势 证据不足
— 7 日新增

star 记录还不够天数,增量算不出来

项目规范 数据完整
Apache-2.0 许可证

许可证 Apache-2.0 · 8 个 topics

版本发布 证据不足
— 发布次数

这一项暂无数据,不代表项目没有发布

「证据不足」表示这项数据暂时没有取到,不能读成「项目有问题」;「部分数据」表示只拿到一部分信号。版本发布要额外调 Releases 接口,下一版补。

Star 趋势

2 天记录
最近 90 天站内记录的星数
12,419当前 Star +0首尾差值 2026-10-27最早记录 2026-10-28最近记录

横轴 2026-10-27 → 2026-10-28,纵轴按这段时间的最小/最大值拉伸。趋势来自站内每天记录一次的星数,页面打开时不会实时请求 GitHub。

README 原文细节

4 个板块
项目自己写的功能与用法,原文照录

核心功能README 里列出来的能力清单

Features

  • Highly flexible health check conditions: While checking the response status may be enough for some use cases, Gatus goes much further and allows you to add conditions on the response time, the respons
  • Ability to use Gatus for user acceptance tests: Thanks to the point above, you can leverage this application to create automated user acceptance tests.
  • Very easy to configure: Not only is the configuration designed to be as readable as possible, it's also extremely easy to add a new service or a new endpoint to monitor.
  • Alerting: While having a pretty visual dashboard is useful to keep track of the state of your application(s), you probably don't want to stare at it all day. Thus, notifications via Slack, Mattermost,
  • Low resource consumption: As with most Go applications, the resource footprint that this application requires is negligibly small.

怎么安装从零跑起来的步骤

Deployment

Many examples can be found in the .examples folder, but this section will focus on the most popular ways of deploying Gatus.

Installing as binary

You can download Gatus as a binary using the following command:

go install github.com/TwiN/gatus/v5@latest

怎么用最典型的用法与示例

Usage

If you want to create your own configuration, see Docker for information on how to mount a configuration file.

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

配置项能调整哪些参数

Configuration

By default, the configuration file is expected to be at config/config.yaml.

You can specify a custom path by setting the GATUSCONFIGPATH environment variable.

If GATUSCONFIGPATH points to a directory, all .yaml and .yml files inside said directory and its subdirectories are merged like so: - All maps/objects are deep merged (i.e. you could define alerting.slack in one file and alerting.pagerduty in another file) - All slices/arrays are appended (i.e. you can define endpoints in multiple files and each endpoint will be added to the final list of endpoints) - Parameters with a primitive value (e.g. metrics, alerting.slack.webhook-url, etc.) may only be defined once to forcefully avoid any ambiguity - To clarify, this also means that you could not defi

Configuration

If you want more verbose logging, you may set the GATUSLOGLEVEL environment variable to DEBUG. Conversely, if you want less verbose logging, you can set the aforementioned environment variable to WARN, ERROR or FATAL. The default value for GATUSLOGLEVEL is INFO.

  • metrics — Whether to expose metrics at /metrics. — false
  • storage — Storage configuration. — {}
  • alerting — Alerting configuration. — {}
  • announcements — Announcements configuration. — []
  • endpoints — Endpoints configuration. — Required []
  • external-endpoints — External Endpoints configuration. — []
  • security — Security configuration. — {}
  • concurrency — Maximum number of endpoints/suites to monitor concurrently. Set to 0 for unlimited. See Concurrency. — 3
  • disable-monitoring-lock — Whether to disable the monitoring lock. Deprecated: Use concurrency: 0 instead. — false
  • skip-invalid-config-update — Whether to ignore invalid configuration update. See Reloading configuration on the fly. — false
  • web — Web configuration. — {}
  • ui — UI configuration. — {}
  • maintenance — Maintenance configuration. — {}

Client configuration

In order to support a wide range of environments, each monitored endpoint has a unique configuration for the client used to send the request.

Note that this configuration is only available under endpoints[], alerting.mattermost and alerting.custom.

Here's an example with the client configuration under endpoints[]:

This example shows how you can specify a custom DNS resolver:

  • client.insecure — Whether to skip verifying the server's certificate chain and host name. — false
  • client.ignore-redirect — Whether to ignore redirects (true) or follow them (false, default). — false
  • client.timeout — Duration before timing out. — 10s
  • client.dns-resolver — Override the DNS resolver using the format {proto}://{host}:{port}. — ""
  • client.oauth2 — OAuth2 client configuration. — {}
  • client.oauth2.token-url — The token endpoint URL — required ""
  • client.oauth2.client-id — The client id which should be used for the Client credentials flow — required ""
  • client.oauth2.client-secret — The client secret which should be used for the Client credentials flow — required ""
  • client.oauth2.scopes[] — A list of scopes which should be used for the Client credentials flow. — required [""]
  • client.proxy-url — The URL of the proxy to use for the client — ""
  • client.identity-aware-proxy — Google Identity-Aware-Proxy client configuration. — {}
  • client.identity-aware-proxy.audience — The Identity-Aware-Proxy audience. (client-id of the IAP oauth2 credential) — required ""
  • client.tls.certificate-file — Path to a client certificate (in PEM format) for mTLS configurations. — ""
  • client.tls.private-key-file — Path to a client private key (in PEM format) for mTLS configurations. — ""
client:
  insecure: false
  ignore-redirect: false
  timeout: 10s
  store-cookies: false

Reloading configuration on the fly

For the sake of convenience, Gatus automatically reloads the configuration on the fly if the loaded configuration file is updated while Gatus is running.

By default, the application will exit if the updating configuration is invalid, but you can configure Gatus to continue running if the configuration file is updated with an invalid configuration by setting skip-invalid-config-update to true.

Keep in mind that it is in your best interest to ensure the validity of the configuration file after each update you apply to the configuration file while Gatus is running by looking at the log and making sure that you do not see the following message:

Failure to do so may result in Gatus being unable to start if the application is restarted for whatever reason.

The configuration file was updated, but it is not valid. The old configuration will continue being used.

关于 gatus 的常见问题

4 个问题
答案来自 README 归纳与 GitHub 实时数据
gatus 是做什么的?

TwiN/gatus 是 GitHub 上的开源项目:Automated developer-oriented status page with alerting and incident support。README 里的说明是:Before getting into the specifics, I want to address the most common question: > Why would I use Gatus when I can just use Prometheus’ Alertmanager, Cloudwatch or even Splunk?

gatus 有哪些功能?

项目 README 列出的能力包括:Highly flexible health check conditions: While checking the response status may be enough for some use cases, Gatus goes much further and allows you to add conditions on the response time, the respons;Ability to use Gatus for user acceptance tests: Thanks to the point above, you can leverage this application to create automated user acceptance tests.;Very easy to configure: Not only is the configuration designed to be as readable as possible, it's also extremely easy to add a new service or a new endpoint to monitor.;Alerting: While having a pretty visual dashboard is useful to keep track of the state of your application(s), you probably don't want to stare at it all day. Thus, notifications via Slack, Mattermost,;Low resource consumption: As with most Go applications, the resource footprint that this application requires is negligibly small.。

怎么安装 gatus?

按项目 README 的说明:Many examples can be found in the .examples folder, but this section will focus on the most popular ways of deploying Gatus.;You can download Gatus as a binary using the following command:。完整命令见下方「怎么安装」一节或 GitHub 仓库的 README。

gatus 现在还在维护吗?数据怎么样?

目前 12,419 星,878 个 Fork,主语言 Go,创建于 2019-09-04,最近一次推送 2026-10-26 14:41,许可证 Apache-2.0。星数、Fork、推送时间都是 GitHub 返回的实时数据,「最近推送」离现在越近说明越活跃;长期不动要留意是否已停止维护。

这些内容来自哪

读法说明
中文整理据 README 归纳,数据取自 GitHub
中文说明据项目 README 归纳只写 README 能确认的内容,不替作者补功能与数字
关键数据与 GitHub 页面一致星数、Fork、语言与时间都不做二次加工
数据日期2026-10-27 19:30星数与介绍这份数据是哪一天的

项目数据取自 GitHub 官方接口与项目 README;星数、Fork、语言与时间以 GitHub 页面为准,档案更新于 2026-10-27 19:30。