如果你厌倦了 Uptime Kuma 那种需要点点点的繁琐后台,或者觉得 Prometheus+Grafana 太过笨重,那么 Gatus 绝对会让你眼前一亮。它是一款用 Go 语言编写的健康监测工具,以其极致轻量的资源占用和精美的状态墙界面,成为了当下开发者监控服务的首选。
![图片[1]-Gatus 极致简约的健康状态监控面板,让服务状态一目了然-奇蛙小屋](https://www.qiqiwa.com/wp-content/uploads/2026/02/70d5a6976220260219172313.png)
🔍 Gatus 到底是什么?
Gatus(意为 "Gatekeeper")不仅能监测你的网站是否在线,它还能深入业务逻辑:
- 断言式监测:你可以定义“状态码必须为 200”且“响应体必须包含 success 字段”才算健康。
- 多维度支持:支持 HTTP、ICMP (Ping)、TCP、UDP 甚至是 DNS 查询监测。
- 配置即代码 (IaC):所有的监控项都写在一个
config.yaml文件里,这意味着你可以轻松备份、迁移或通过 Git 进行版本管理。
✨ Gatus 的四大杀手锏
- 可视化状态墙:采用类似 GitHub 贡献图的方格设计,直观展示历史在线率。
- 极致轻量:仅需几十 MB 内存即可监控成百上千个服务。
- 强大的告警生态:原生支持 Discord, Slack, Telegram, Teams, PagerDuty, 邮件等几十种通知渠道。
- 无依赖运行:单二进制文件,不需要复杂的数据库环境(默认使用 SQLite,也支持 PostgreSQL/MySQL)。
🏗️ 部署指南:两种主流安装方式
方式一:Docker (推荐)
步骤 1:安装 Docker 环境(未安装的话)
# 一键安装 Docker(通用 Linux 脚本)
curl -fsSL https://get.docker.com | sh
# 安装 Docker Compose 插件(新版 Docker)
apt update && apt install -y docker-compose-plugin
# 验证安装(出现版本号即成功)
docker compose version
步骤 2:创建 Gatus 工作目录 + 配置文件
# 1. 创建目录并进入(统一管理配置和数据)
mkdir -p /root/gatus && cd /root/gatus
# 2. 创建 docker-compose.yml 核心配置文件
cat > docker-compose.yml << EOF
version: '3'
services:
gatus:
image: twinproduction/gatus:latest # 官方镜像
container_name: gatus # 容器名,方便管理
restart: always # 开机自启/异常重启
ports:
- "8080:8080" # 端口为8080
volumes:
- ./config:/config # 监控规则配置持久化(关键)
- ./data:/data # 监控数据/日志持久化
environment:
- TZ=Asia/Shanghai # 时区配置(避免时间错乱)
EOF
# 3. 创建监控规则配置文件(自定义监控目标)
mkdir -p config && cat > config/config.yaml << EOF
# API 服务配置(固定)
api:
enabled: true
port: 8080
host: 0.0.0.0
# 监控规则(核心,可自定义多个监控目标)
endpoints:
# 示例1:监控百度可用性
- name: 百度-可用性监控
url: https://www.baidu.com
interval: 30s # 每30秒检测一次
conditions:
- "[STATUS] == 200" # 状态码200则正常
alerts: [] # 告警配置(后续可加邮箱/钉钉)
# 示例2:监控自己的网站(替换成你的域名)
- name: 我的网站-监控
url: https://你的域名.com
interval: 60s
conditions:
- "[STATUS] == 200" # 状态码正常
- "[RESPONSE_TIME] < 1000" # 响应时间<1秒则正常
# 示例3:监控API接口(可选)
- name: 测试API-监控
url: https://api.example.com/test
method: GET # 请求方式
interval: 1m # 每1分钟检测一次
conditions:
- "[STATUS] == 200"
EOF
步骤 3:启动 Gatus 容器
# 后台启动容器(第一次启动会自动拉取镜像)
docker compose up -d
# 查看容器状态(显示 Up 即成功)
docker compose ps
# 查看日志(排错/验证)
docker compose logs -f gatus
步骤4:修改 Gatus 配置文件
# 1. 编辑配置文件 config.yaml
#键盘i进入编辑
vi /root/gatus/config/config.yaml
# 改完按 Esc → :wq 保存退出
# 2. 重启容器生效
docker restart gatus
宝塔用户:商店直接安装
在左侧Docker商店搜索Gatus 项目名称即可安装。如果使用上方命令安装的在这里也能看到找到容器。
修改监控地址打开容器目录找到config-config.yaml 打开并修改 随后容器容器即可
![图片[2]-Gatus 极致简约的健康状态监控面板,让服务状态一目了然-奇蛙小屋](https://www.qiqiwa.com/wp-content/uploads/2026/02/d2b5ca33bd20260219185046.png)
方式二:二进制直接运行
适合追求原汁原味 Go 运行效率的用户。
- 从 GitHub Releases 下载对应架构的压缩包。
- 解压并赋予执行权限。
- 确保同目录下存在
config.yaml。 - 执行命令:
./gatus
⚙️ 进阶:配置详解与告警设置
Gatus 的强大之处在于其 config.yaml 的灵活性。
| 功能 | 配置示例摘要 |
| 状态码监测 | conditions: [STATUS] == 200 |
| 延迟监测 | conditions: [RESPONSE_TIME] < 500 (要求延迟小于 500ms) |
| 告警配置 | alerting: telegram: token: "xxx" chat-id: "xxx" |
| 数据库持久化 | storage: type: postgres, path: "postgres://..." |
⚖️ 优缺点评价
- ✅ 优点:
- 颜值极高:方块状的状态历史图非常符合现代审美。
- 部署极简:一个文件、一个配置,干干净净。
- 通知全面:几乎市面上所有的推送工具它都支持。
- ⚠️ 缺点:
- 无后台管理界面:新增监控项必须修改
yaml文件并重启(或平滑加载),对非技术用户不太友好。
- 无后台管理界面:新增监控项必须修改
🎯 总结:谁最适合 Gatus?
- 极简主义博主:想要一个大方、美观的公开状态页挂在博客导航栏。
- 运维开发者:习惯使用配置文件管理资产,希望监控系统能随 Git 走。
- 服务器收集癖:手中有多台机器,需要一个极其省内存的监测点。
© 版权声明
THE END







暂无评论内容