STACIO WIKI · 运维指南

Stacio 远程运维指南

适用版本:Stacio 0.14.x
更新日期:2026-07-25
面向读者:使用 Stacio 进行主机巡检、故障排查、变更验证和事件处置的开发、运维与 SRE

1. 运维原则

Stacio 提供终端、设备看板、文件、隧道、诊断和 Agent 能力,但不会替代组织权限、监控平台、备份系统或变更审批。所有远程任务建议遵循以下顺序:

确认目标 -> 只读基线 -> 判断影响 -> 准备备份和回滚
-> 最小变更 -> 专项验证 -> 记录结果 -> 必要时恢复

开始前必须确认:

1.1 用 IP、域名和端口确认目标

远程运维不能只凭会话名称判断目标。开始操作前,应把 Stacio 中配置的连接端点和远端 Shell 返回的身份信息放在一起核对:

Stacio 连接端点 典型含义 还要核对
root@192.168.1.20:22 直接连接局域网 IPv4 的默认 SSH 端口 hostname、账号、环境和资产记录。
deploy@192.168.1.20:2222 同一 IP 上的自定义端口或 NAT 映射 端口映射实际落到哪台主机。
admin@server.example.com:22 通过 DNS 名称连接 当前解析 IP、负载均衡或地址切换策略。

保存会话的主机端口在界面中分开填写;上表只是把二者合并为便于核对的端点表示。hostname相同不能证明连接入口相同,IP 相同也不能忽略端口差异。使用域名时,故障记录应保留“配置域名 + 当时解析 IP + 端口”;使用 IP 时,也要确认它没有因 DHCP、云资源回收或 NAT 规则变化而指向其他资产。

2. 建立可靠的运维工作区

2.1 会话标记

新建/编辑会话 > 自动化中设置:

生产会话应明确标记为生产。该标记会参与 MultiExec 和 AI/Agent 的确认策略;仅在名称里写 prod 不等同于生产环境策略。

2.2 分屏与上下文

分屏适合同时查看:

点击 pane 后再打开 Files、看板或 AI,确保右侧能力绑定到正确终端。分屏不会自动同步输入;同步输入需要显式进入 MultiExec。

2.3 终端可读性

建议在设置 > 终端中按任务调整:

3. 设备看板

3.1 打开方式

  1. 选中一个已连接的 SSH 标签。
  2. 选择视图 > 显示/隐藏设备看板或工具栏设备看板
  3. 等待至少两个采样周期;CPU 和速率类指标通常需要前后两次采样才能计算。

看板是受 License 控制的高级能力。

3.2 指标范围

模块 可见信息 解释重点
系统 主机名、操作系统、架构等 先确认是否连接到预期资产。
CPU 总使用率、核心数、CPU 型号、分核心使用率 瞬时高值不等于持续压力,应结合多个采样和进程。
内存 已用、总量和使用率 同时关注 available、swap 和 OOM 记录。
网络 各接口收发速率 排除 loopback、容器和虚拟接口后再判断业务流量。
磁盘 挂载点容量和使用率 同时检查 inode;空间正常不代表 inode 正常。
磁盘读写 读取、写入速率 速率是采样结果,需要结合延迟、队列和业务负载。

3.3 兼容与刷新设置

设置 > 看板中可配置:

跨地域、低性能或 BusyBox 主机应适当增大刷新间隔,避免频繁探针影响交互。告警只有连续达到配置条件后才发送;macOS 通知只是提示,不替代集中监控。

3.4 Linux 探针边界

当前看板优先使用 /proc/stat/proc/meminfo/proc/net/dev/proc/mounts 和兼容的 df 输出,面向 CentOS/RHEL、Rocky、Alma、Fedora、Ubuntu、Debian、Alpine/BusyBox 和 openSUSE 等 Linux 环境。

以下场景可能只显示部分指标:

4. 主机资源巡检 Runbook

下面命令以常见 Linux 为例,均为只读。执行前确认命令存在,并避免在大量主机上同时运行高开销采样。

4.1 身份与系统

date -Is
hostname
whoami
uname -a
uptime

记录时间、主机名、用户、内核和负载,先证明当前证据属于哪台主机。

4.2 CPU 与进程

uptime
top -b -n 1 | head -40
ps -eo pid,ppid,user,stat,%cpu,%mem,etime,comm,args --sort=-%cpu | head -25

判断时区分:

4.3 内存与 Swap

free -h
ps -eo pid,user,rss,vsz,%mem,etime,comm,args --sort=-rss | head -25

优先看 available,而不是只看 free。Swap 已使用不一定是当前压力;应结合换页活动、OOM 日志和业务延迟。

4.4 磁盘与 inode

df -hT
df -ih

需要定位大目录时,先限定到明确文件系统和目录,避免从 / 无边界扫描:

du -xhd1 /var 2>/dev/null | sort -h

不要在未确认挂载点、业务高峰和目录规模时直接运行全盘 du

4.5 端口与网络

ip -brief address 2>/dev/null || ifconfig
ip route 2>/dev/null || netstat -rn
ss -lntup 2>/dev/null || netstat -lnt

应用面板中的诊断 > 端口检查可用于快速验证主机和端口。检查 192.168.1.20:2222 时,主机填写 192.168.1.20、端口填写 2222;检查域名时则填写 server.example.com 和对应端口。“端口可达”只证明 TCP 层,不代表协议认证或业务健康。

5. 服务不可用 Runbook

5.1 先收集只读证据

systemctl status <service> --no-pager
journalctl -u <service> --since '30 minutes ago' --no-pager | tail -200
ss -lntp
curl -fsS -D- --max-time 10 http://127.0.0.1:<port>/<health-path>

替换占位符前确认服务管理器、端口和健康路径。非 systemd 系统应使用对应服务工具。

5.2 建立故障链路

按以下关系逐层验证:

IP 或域名解析 -> 路由/NAT/负载均衡 -> 监听端口 -> 进程/容器
-> 应用健康 -> 数据库/缓存 -> 上下游依赖

不要因为进程“running”就宣称业务恢复,也不要因为外部请求失败就直接重启服务。

5.3 变更前门槛

需要改配置、重启、回滚或部署时,先确认:

6. 文件与传输故障 Runbook

6.1 目录打不开

  1. 确认 Files 绑定到正确的 SSH/SFTP/FTP 会话。
  2. 在终端执行 pwd 和只读目录检查,确认账号权限。
  3. 检查路径是否已被删除、重命名或包含异常字符。
  4. 刷新目录;仍失败时查看视图 > 诊断

6.2 传输失败

状态/错误 检查
认证失败 会话用户、凭据引用、私钥和主机密钥。
连接超时 网络、VPN、跳板、服务端口和连接状态。
权限不足 远端目录权限、文件所有者和本地目标目录权限。
磁盘空间不足 远端及本地 df -h、inode 和配额。
文件大小不一致 网络中断、服务端变化、续传支持和冲突策略。
远端文件已变化 Remote Edit 的缓存版本落后;重新打开并合并,不要强制覆盖。

使用传输队列查看任务 ID、方向、来源、目标、进度、诊断和日志。暂停/恢复或续传是否可用取决于协议和服务端能力。

7. 隧道故障 Runbook

  1. 确认 License 和 SSH/SFTP/SCP 端点可用。
  2. Local 或 Dynamic 隧道先检查本地端口是否已占用。
  3. 分别验证:Mac 到 SSH 端点、SSH 端点到目标、客户端到本地监听。
  4. Remote 隧道还要检查服务端是否允许 remote forwarding 和外部绑定。
  5. 查看隧道行的状态、详情、接入数、活跃连接和上下行字节。
  6. 自动重连持续失败时,手动停止,修复网络或凭据后再启动。

完整字段和示例见隧道指南

8. 诊断面板

选择视图 > 诊断可查看或执行:

诊断包会执行脱敏,并受设置 > 安全中的审计条数、日志行数和“包含应用日志”设置限制。导出前仍应人工预览,尤其是主机名、业务路径、请求内容和日志片段。

9. AI 与本地 Agent 运维

Stacio 提供两类工作方式:

方式 适用场景 执行边界
排查助手 逐步诊断、命令卡、结构化结论 由 Stacio 编排并应用风险、审批、备份和验证门禁。
本地 Agent Codex、Claude、OpenCode、Qwen Code 等复杂任务 通过 Agent Bridge 操作选中的终端;第三方 Agent 的规划仍受其自身实现和指令遵循影响。

使用前:

  1. 检查当前目标终端和远程目录。
  2. 优先要求只读检查和明确证据。
  3. 生产环境使用“每条确认”或至少“只读自动”。
  4. 变更任务要求报告备份位置、验证结果和回滚方法。
  5. 任何目标失败都要单独报告,不能把部分成功写成全部成功。

Agent 的完整边界见Agent 能力与安全保障

10. 变更、验证与回滚

10.1 通用变更清单

  1. 记录变更前版本、配置摘要、服务状态和健康结果。
  2. 创建带时间戳、不会覆盖历史的备份。
  3. 验证备份存在、可读且大小合理;数据库优先使用原生备份工具。
  4. 只修改与故障或需求直接相关的最小范围。
  5. 先做配置语法或 dry-run 检查。
  6. 应用变更后验证进程、端口、日志、健康接口和业务请求。
  7. 对比变更前后关键值。
  8. 验证失败立即停止扩大变更,并按预案恢复。
  9. 回滚后再次运行只读验证。

10.2 完成标准

以下任一项缺失时,不应宣布“已修复”:

11. 事件响应清单

11.1 发现异常时

  1. 确认目标、时间和影响范围。
  2. 暂停自动化、MultiExec 或继续变更。
  3. 保存当前终端、日志、指标和审计证据。
  4. 判断是否需要隔离账号、主机、隧道或凭据。
  5. 通知对应服务、网络、安全或数据库负责人。
  6. 在批准后执行遏制和恢复。
  7. 验证业务恢复并持续观察。

11.2 升级材料

提交给下一处理人时至少包含:

不要附带密码、Token、私钥、私钥口令、完整环境变量或不必要的客户数据。

12. 运维告警参考

告警 建议严重度 第一响应
主机不可达 高,若影响生产流量 核对配置 IP/域名、独立端口字段、VPN、DNS、路由、NAT 和 SSH 监听。
CPU 持续高 中到高 多次采样,按进程和等待类型定位,不直接重启。
可用内存持续低/OOM 检查 available、swap、OOM 日志和 RSS 排名。
磁盘或 inode 接近满 确认挂载点、增长源、保留策略和扩容/清理授权。
文件传输持续失败 区分认证、网络、权限、容量和远端变化。
SSH 主机密钥变化 安全高风险 立即停止连接并通过独立渠道核验。
隧道反复重连 中到高 停止自动重试,检查 SSH 端点、凭据和两段链路。
本文是 Stacio Wiki 中文用户文档的一部分。