← 返回
未分类

Auto-Heal 通用守护

自动监测并修复HTTP、端口、进程等服务异常,支持回滚到稳定状态,防止级联故障并发送告警。
自动监测并修复HTTP、端口、进程等服务异常,支持回滚到稳定状态,防止级联故障并发送告警。
panjun2026 panjun2026 来源
未分类 clawhub v1.0.0 1 版本 99740.9 Key: 无需
★ 0
Stars
📥 385
下载
💾 0
安装
1
版本
#latest

概述

Auto-Heal 通用守护框架

核心机制

检测 → 修复 → 回滚 → 告警

检测:探活测试(HTTP/端口/进程/功能)

修复:重启/重试/切换

回滚:恢复到上一稳定状态

告警:记录并通知

快速开始

1. 定义要守护的服务

编辑 services.json

{
  "services": [
    {
      "name": "nginx",
      "check": {
        "type": "port",
        "target": 80
      },
      "fix": "systemctl restart nginx",
      "rollback": "systemctl restart nginx",
      "timeout": 5
    },
    {
      "name": "web-api",
      "check": {
        "type": "http",
        "url": "https://api.example.com/health",
        "expected": "200"
      },
      "fix": "systemctl restart api && sleep 3",
      "rollback": "cp /etc/api/backup.json /etc/api/config.json && systemctl restart api",
      "backup_dir": "/etc/api/backups"
    }
  ]
}

2. 运行守护

./guard.sh services.json

3. 添加到 cron(每5分钟检查)

*/5 * * * * /path/to/guard.sh /path/to/services.json >> /var/log/guard.log 2>&1

检查类型

类型配置说明
------------------
port{"type": "port", "target": 8080}端口是否监听
process{"type": "process", "name": "nginx"}进程是否存在
http{"type": "http", "url": "...", "expected": "200"}HTTP 状态码
cmd{"type": "cmd", "command": "pgrep -x myapp"}自定义命令(返回0=正常)

框架流程

1. 解析配置文件
2. 遍历每个服务
3. 执行检测
   ├─ 正常 → 记录,跳过
   └─ 异常 → 进入修复流程
4. 修复
   ├─ 执行修复命令
   ├─ 重新检测
   │   ├─ 正常 → 恢复,记录"自愈成功"
   │   └─ 仍异常 → 回滚
5. 回滚
   ├─ 尝试回滚
   ├─ 重新检测
   │   ├─ 正常 → 恢复,记录"回滚成功"
   │   └─ 仍异常 → 告警(需人工介入)

配置字段说明

字段必填说明
------------------
name服务名称(唯一标识)
check检测配置
fix修复命令
rollback回滚命令(不填则跳过)
timeout检测超时(秒),默认5
backup_dir自动备份目录(保留最近10份)
enabledtrue/false,默认true

示例配置

详见 references/examples.md

  • Nginx 反向代理
  • Docker 容器
  • AI API 服务
  • 数据库主从切换

日志格式

[2026-03-27 10:00:00] [nginx] 检测正常
[2026-03-27 10:05:00] [api] 检测失败 → 执行修复...
[2026-03-27 10:05:03] [api] 修复成功,自愈用时3秒
[2026-03-27 10:10:00] [db] 检测失败 → 执行修复... → 修复失败 → 回滚...
[2026-03-27 10:10:06] [db] 回滚成功
[2026-03-27 10:15:00] [cache] 检测失败 → 修复失败 → 回滚失败 → 告警:请人工介入

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-07 07:13 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

it-ops-security

OpenClaw Backup

alex3alex
备份与恢复 OpenClaw 数据。适用于创建备份、设置自动备份计划、从备份恢复或管理备份轮转。处理 ~/.openclaw 目录归档并包含适当的排除规则。
★ 90 📥 30,728
it-ops-security

1password

steipete
设置和使用 1Password CLI (op)。适用于:安装 CLI、启用桌面应用集成、登录(单/多账户)、通过 op 读取/注入/运行密钥。
★ 53 📥 31,395
it-ops-security

Tmux

steipete
通过发送按键和抓取窗格输出,远程控制交互式 CLI 的 tmux 会话。
★ 45 📥 29,311