SwiftServer
监控

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/Odf、/proc/diskstats、/proc/self/mountinfo
GPUnvidia-smi(存在时)
Dockerdocker 命令行(存在时)

这些全是只读操作,监控从来不需要 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。服务器上需要:

  1. OpenSSH 服务器(OpenSSH Server):Windows 10/11 和 Windows Server 上的可选功能。 在设置 → 系统 → 可选功能里安装,启动 sshd 服务,并在防火墙里放行。
  2. 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 温度。

本页内容