核心用法
本 Skill 为 Uptime Kuma 监控服务器的 Python CLI 封装,基于 uptime-kuma-api 库通过 Socket.IO 与服务器交互。支持完整的监控生命周期管理:查看整体状态、列出/获取/添加/删除监控项、暂停/恢复检查、查看心跳历史及通知渠道管理。
典型工作流:
- 快速诊断:
kuma.py status查看整体健康度,kuma.py list定位故障(🔴 标记) - 灵活添加:支持 HTTP/HTTPS、ICMP Ping、TCP 端口、DNS、数据库(MySQL/PostgreSQL/MongoDB/Redis)、Docker 容器、MQTT、被动 Push 等 10+ 监控类型
- 维护操作:支持单个或批量暂停/恢复(配合 shell 循环实现全站维护模式)
- 历史追溯:
kuma.py heartbeats <id>查看指定时间窗口内的检测记录
显著优点
- 协议覆盖全面:从基础网络层(Ping、Port)到应用层(HTTP Keyword、数据库、Docker)全栈支持
- 被动监控支持:Push 类型允许内网服务主动上报,解决不可达场景
- 批量运维友好:JSON 输出配合
jq可实现脚本化批量操作 - 自托管可控:对接开源 Uptime Kuma 项目,数据私有化
潜在缺点与局限性
- 依赖 Socket.IO 连接:网络不稳定时 API 调用可能失败
- 无内置高可用:Uptime Kuma 本身为单节点架构,Skill 无法规避该限制
- 权限粒度粗:仅支持用户名/密码认证,无 RBAC 或 API Token 机制
- 告警配置受限:仅能查看通知渠道,无法通过 CLI 创建或修改告警规则
- 无 SSL 证书过期专项监控:HTTP 类型不单独暴露证书有效期指标
适合人群
- 运维工程师/SRE:需要快速批量操作监控的日常值班场景
- 自托管用户:已部署 Uptime Kuma 且偏好命令行工作流的开发者
- 自动化集成:需将监控操作嵌入 CI/CD 或运维脚本的团队
常规风险
- 凭证泄露:
UPTIME_KUMA_USERNAME/PASSWORD环境变量需妥善保管,避免写入版本控制 - 误删风险:
delete操作无二次确认,脚本调用时需额外校验 - 维护误操作:批量 pause/resume 可能影响核心服务监控覆盖
- API 兼容性:Uptime Kuma 版本升级可能破坏 Socket.IO 接口契约,需锁定版本测试