健康检查系统持续监控 OpenClaw macOS 应用的运行状态,确保各组件正常工作。
概述
健康检查系统定期验证应用的核心组件状态,包括 Gateway 连接、IPC 通信、系统资源等。检查结果会在菜单栏显示,并通过控制通道分发给智能体。
检查项目
Gateway 健康
- WebSocket 连接状态
- 消息队列大小
- 平均响应延迟
- 连接数量
- 错误率统计
IPC 健康
- 进程间通信可达性
- 消息传递延迟
- 队列积压情况
- 通道连接状态
系统资源
- CPU 使用率
- 内存使用量
- 磁盘空间
- 网络连接
- 文件描述符
权限检查
- 辅助功能权限
- 屏幕录制权限
- 文件系统访问
- 网络权限
健康状态
状态级别
enum HealthStatus {
case healthy // 健康
case degraded // 降级
case unhealthy // 不健康
case unknown // 未知
}
状态判定
- Healthy: 所有检查项通过
- Degraded: 部分检查项警告
- Unhealthy: 关键检查项失败
- Unknown: 无法完成检查
配置
基本配置
{
"healthCheck": {
"enabled": true,
"interval": 30000, // 检查间隔(毫秒)
"timeout": 5000, // 超时时间
"retries": 3 // 失败重试次数
}
}
阈值配置
{
"healthCheck": {
"thresholds": {
"cpu": {
"warning": 70, // CPU 使用率警告线(%)
"critical": 90 // CPU 使用率告警线(%)
},
"memory": {
"warning": 80, // 内存使用率警告线(%)
"critical": 95 // 内存使用率告警线(%)
},
"latency": {
"warning": 100, // 延迟警告线(ms)
"critical": 500 // 延迟告警线(ms)
}
}
}
}
检查项配置
{
"healthCheck": {
"checks": {
"gateway": true,
"ipc": true,
"resources": true,
"permissions": true,
"canvas": false
}
}
}
使用方法
查看健康状态
# 查看整体健康状态
openclaw health
# 查看详细检查结果
openclaw health --verbose
# 查看特定组件
openclaw health --component gateway
执行健康检查
# 立即执行检查
openclaw health check
# 执行特定检查项
openclaw health check --item gateway
# 执行并等待结果
openclaw health check --wait
查看历史记录
# 查看检查历史
openclaw health history
# 查看最近 N 次检查
openclaw health history --last 10
# 导出历史数据
openclaw health history --export health.json
菜单栏显示
显示规则
- 健康状态仅在空闲时显示
- Main 会话活动时优先显示工作状态
- 使用图标颜色表示健康程度:
- 绿色 - 健康
- 黄色 - 降级
- 红色 - 不健康
- 灰色 - 未知
状态文本
# 健康状态
Idle · Health: OK
# 降级状态
Idle · Health: Degraded (High CPU)
# 不健康状态
Idle · Health: Unhealthy (Gateway Down)
告警与通知
告警配置
{
"healthCheck": {
"alerts": {
"enabled": true,
"channels": ["menubar", "notification", "log"],
"severity": ["critical", "warning"]
}
}
}
通知方式
- 菜单栏: 状态文本和图标颜色
- 系统通知: macOS 通知中心
- 日志: 记录到诊断日志
- 控制通道: 推送给智能体
故障排查
Gateway 不健康
# 检查 Gateway 状态
openclaw gateway status
# 重启 Gateway
openclaw gateway restart
# 查看错误日志
./scripts/clawlog.sh --category Gateway --level error
资源使用过高
# 查看资源使用
openclaw health resources
# 查看进程列表
ps aux | grep openclaw
# 监控资源变化
openclaw health monitor --interval 5
权限问题
# 检查权限状态
openclaw health permissions
# 打开系统设置
openclaw permissions open
最佳实践
监控策略
- 设置合理的检查间隔(30-60秒)
- 配置适当的阈值
- 启用关键组件检查
- 定期查看健康历史
- 及时响应告警
性能优化
- 避免过于频繁的检查
- 禁用非必需检查项
- 使用异步检查
- 缓存检查结果
问题预防
- 监控趋势变化
- 设置预警阈值
- 定期审查日志
- 保持系统更新
相关资源