监控
Linux、macOS 与 Windows
SwiftServer 的监控在每个平台上分别读取什么、服务器需要准备什么,以及各平台之间的差异。
同一个仪表板同时覆盖 Linux、macOS 和 Windows 服务器。监控开始时 SwiftServer 会识别操作系统, 并记住结果供之后的连接使用。这一页列出每个平台需要准备什么,以及覆盖范围有哪些差别。
Linux
Linux 的覆盖最完整,除了 SSH 访问之外不需要任何东西。SwiftServer 读取标准的内核接口和常见工具:
| 指标 | 数据来源 |
|---|---|
| CPU 利用率 | /proc/stat(采样两次) |
| CPU 负载 | /proc/loadavg |
| CPU 型号 | lscpu |
| 温度 | /sys/class/hwmon/*/temp1_input |
| 内存与交换空间 | /proc/meminfo |
| 进程 | ps |
| 网络 | /proc/net/dev(采样两次)加 ip addr |
| 存储与磁盘 I/O | df、/proc/diskstats、/proc/self/mountinfo |
| GPU | nvidia-smi(存在时) |
| Docker | docker 命令行(存在时) |
这些全是只读操作,监控从来不需要 root 权限。有些精简的容器镜像里没有 ps 或 ip,
如果某张卡片一直是空的,装上常见的 procps 和 iproute2 包即可。
macOS
在这台 Mac 上打开系统设置 → 通用 → 共享 → 远程登录,然后像添加其他服务器一样添加它。
监控用的是系统自带工具:top、vm_stat、sysctl、df、ps 和 netstat。
macOS 上的差异:
- CPU 只显示总体百分比:macOS 不向
top提供按核心的拆分,所以没有按核心展开的视图。 - 没有 CPU 温度。
- 存储显示每个卷的容量,但没有磁盘 I/O 速率。
- macOS 上没有 GPU 监控。
- 装有 Docker Desktop 或命令行版本时 Docker 可用:SwiftServer 会自动把 SSH 会话
通常搜不到的 Homebrew 路径和
/usr/local/bin加进查找范围。
Windows
SwiftServer 通过 SSH 上的 PowerShell 监控 Windows。服务器上需要:
- OpenSSH 服务器(OpenSSH Server):Windows 10/11 和 Windows Server 上的可选功能。
在设置 → 系统 → 可选功能里安装,启动
sshd服务,并在防火墙里放行。 - Windows PowerShell 5.1:Windows 自带。默认的 SSH shell 可以是
cmd.exe、 Windows PowerShell 或pwsh,三者都能用。
指标取自 CIM 性能计数器(Get-CimInstance),因此与系统语言无关,也不需要额外软件。
Windows 上覆盖:带每核心明细的 CPU 利用率、内存与页面文件、进程、网络、带磁盘 I/O 的存储、
IP 位置,以及存在 nvidia-smi 时的 GPU。
Windows 上的差异:
- 隐藏 CPU 负载:Windows 没有平均负载。
- Windows 服务器上不支持 Docker 监控:Windows 上的 Docker Desktop 通过命名管道暴露引擎, 而 OpenSSH 访问不到它。
- Windows 上没有 vnStat,因此没有长期网络历史。
- 没有 CPU 温度。