### [Gatus 极致简约的健康状态监控面板,让服务状态一目了然](https://www.qiqiwa.com/article/272) **Published:** 2026-02-19T09:25:09 **Author:** Hello **Excerpt:** 如果你厌倦了 Uptime Kuma 那种需要点点点的繁琐后台,或者觉得 Prometheus+Grafana 太过笨重,那么 Gatus 绝对会让你眼前一亮。它是一款用 Go 语言编写的健康监测工具,以其极致轻量的资源占用和精美的状态墙界 如果你厌倦了 Uptime Kuma 那种需要点点点的繁琐后台,或者觉得 Prometheus+Grafana 太过笨重,那么 **Gatus** 绝对会让你眼前一亮。它是一款用 Go 语言编写的健康监测工具,以其极致轻量的资源占用和精美的状态墙界面,成为了当下开发者监控服务的首选。 ![](https://www.qiqiwa.com/wp-content/uploads/2026/02/70d5a6976220260219172313.png) * * * ## 🔍 Gatus 到底是什么? **Gatus**(意为 “Gatekeeper”)不仅能监测你的网站是否在线,它还能深入业务逻辑: 1. **断言式监测**:你可以定义“状态码必须为 200”且“响应体必须包含 success 字段”才算健康。 2. **多维度支持**:支持 HTTP、ICMP (Ping)、TCP、UDP 甚至是 DNS 查询监测。 3. **配置即代码 (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 打开并修改 随后容器容器即可 ![](https://www.qiqiwa.com/wp-content/uploads/2026/02/d2b5ca33bd20260219185046.png) ### 方式二:二进制直接运行 适合追求原汁原味 Go 运行效率的用户。 1. 从 [GitHub Releases](https://github.com/TwiN/gatus/releases) 下载对应架构的压缩包。 2. 解压并赋予执行权限。 3. 确保同目录下存在 `config.yaml`。 4. 执行命令:`./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 走。 - **服务器收集癖**:手中有多台机器,需要一个极其省内存的监测点。 项目地址:[TwiN/gatus:自动化的开发者导向状态页面,支持警报和事件](https://github.com/TwiN/gatus) **Tags:** 开源项目, 网站监控 **Categories:** 项目笔记 ---