区块链中文技术社区

Gatus 介绍:Go 语言编写的主动式健康监控状态页

Gatus 介绍:Go 语言编写的主动式健康监控状态页

核心定位

Gatus 是一款用 Go 开发的主动式健康状态监控面板(GitHub 10k+ Star),用于填补传统监控工具的盲区:

核心特性

特性说明
灵活条件语法不止校验状态码,可基于响应体(支持 JSONPath)、响应耗时、SSL 证书/域名过期时间等配置规则,支持数组长度、多值匹配、正则等函数,也可用于简易 UAT 测试。
Suite 端到端监控支持串联多步请求,前序请求的返回结果可作为后续请求参数,实现「创建-更新-校验-删除」等完整业务流的可用性监控。
外部端点推送内网服务无需暴露端口,可通过 Agent 主动推送健康状态,支持心跳检测,超时未上报即触发告警。
40+ 告警通道覆盖协作工具(Slack/Discord/企业微信)、PagerDuty、短信、邮件、主流云厂商平台,支持自定义 Webhook;可配置「连续失败 N 次才告警」「恢复自动通知」。
SSH 隧道可通过跳板机监控 Kubernetes 集群内或私有云内网服务。
生态兼容暴露 Prometheus 指标,可对接现有监控体系;生成 SVG 状态徽章,可直接嵌入 GitHub README、文档站点。
低资源与安全Go 实现,生产环境内存占用仅几十 MB,支持配置热加载、断网防误报,支持 Basic Auth/OIDC/mTLS 等安全特性。

部署与存储

部署方式

支持 Docker、Kubernetes Helm、Terraform、单二进制直接运行;配置文件支持多 YAML 文件拆分合并,便于多团队协作管理。

存储方案

存储类型适用场景
Memory快速体验,重启后数据丢失
SQLite轻量单机部署、小团队/个人项目
PostgreSQL生产环境、高可用需求
生产环境推荐 PostgreSQL + 写穿缓存,提升仪表盘加载速度。

同类工具对比

特性GatusUptime KumaHealthchecks.io
开发语言GoNode.jsPython
协议支持极广(含 gRPC/SSH 等)中等较少
条件规则灵活(支持 JSONPath/函数)简单简单
工作流监控支持不支持不支持
SSH 隧道支持不支持不支持
资源占用极低中等中等

Gatus 更适合需要深度定制、监控复杂业务场景的技术团队。

适用场景

  1. 个人/小团队:快速搭建轻量监控,SQLite + 常用告警即可满足需求。
  2. 中大型团队:统一管理数百个微服务的健康状态,对接现有 Prometheus 监控体系。
  3. SaaS 产品:对外提供用户可见的服务状态页,搭配徽章展示历史可用性。
  4. DevOps 运维:补位传统监控盲区,实现无流量场景下的故障前置发现。

项目地址

GitHub:https://github.com/TwiN/gatus

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »