znlgis 博客

GIS开发与技术分享

第十章:自动化、远程访问、日志与排障

长期使用 OpenClaw,需要掌握自动化、远程访问、日志、健康检查、更新和故障排除。

10.1 自动化

OpenClaw 可通过 cron、webhook、Gmail Pub/Sub、插件和 Gateway 工具触发任务。适合定时总结、服务检查、通知转发、报告生成、外部系统事件分析。自动化输入应视为不可信,工具权限必须收敛。

10.2 cron 原则

cron 任务应指定 Agent、model 和输出目标;使用独立 workspace;限制工具 profile;避免默认拥有 execbrowsergatewaynodes;失败时记录日志并通知。

10.3 Webhook 原则

Webhook 必须有认证、签名或随机 token,不要裸露公网。Webhook payload 只是数据,不应直接当作可执行指令。Webhook Agent 应使用低权限工具 profile。

10.4 远程访问

推荐顺序:本机 loopback、SSH tunnel、Tailscale/VPN、可信反向代理。不推荐公网裸露端口。SSH tunnel 示例:

ssh -N -L 18789:127.0.0.1:18789 user@host

Tailscale 使用时也要保留 Gateway auth,并注意 Serve/Funnel 暴露范围。

10.5 日志与诊断

常用命令:

openclaw logs
openclaw gateway status
openclaw health
openclaw doctor
openclaw models status

排障关注:Gateway 是否启动、配置是否通过 schema、模型认证是否成功、通道是否登录、WebSocket 是否握手失败、工具是否被 policy 拒绝、沙箱是否缺依赖、插件是否加载失败。

10.6 Docker 运维

docker compose ps
docker compose logs -f openclaw-gateway
docker compose restart openclaw-gateway
curl -fsS http://127.0.0.1:18789/healthz
curl -fsS http://127.0.0.1:18789/readyz

常见问题:容器内 127.0.0.1 指向容器自身;状态目录未持久化;端口映射和 Gateway bind 不匹配;插件运行依赖缺失;小内存主机安装依赖 OOM。

10.7 更新

openclaw update --channel stable
openclaw doctor
openclaw gateway status

长期使用选择 stable;beta/dev 适合测试。更新前备份配置、workspace、sessions 和通道状态。

10.8 常见故障速查

Control UI 打不开:检查 Gateway、端口、Docker 映射、tunnel、auth。通道不回复:检查 pairing/allowlist、群聊 mention、模型、通道连接和工具策略。模型报错:检查 model ref、key、allowlist、OAuth 过期和 fallback。工具不可用:检查 profile、deny、插件、沙箱和技能说明。

10.9 小结

OpenClaw 不是无状态服务。配置、工作区、会话、通道登录态和密钥都需要备份、保护和审计。运维的核心是最小暴露、可观测和可恢复。