Skip to content

Wi-Fi 监控 ​

Beszel 会显示每个系统已连接 Wi-Fi 接口的信号强度。此功能需要 Agent 版本 0.21.0 或更高版本。

系统表格中的 Wi-Fi 列显示信号最强的连接。将鼠标悬停在其上可查看所有已连接的接口及其 SSID。系统页面中有 Wi-Fi 信号 图表,显示每个接口的信号历史。

信号强度为以 dBm 为单位的 RSSI。数值越接近零,信号越强:

  • 绿色:-65 dBm 或更强。
  • 黄色:-66 至 -75 dBm。
  • 红色:弱于 -75 dBm。

工作原理 ​

Agent 只报告当前已连接到网络的接口,从不扫描附近的网络。

信号按正常的更新间隔采集。实时模式会复用上一次的读数,而不是每秒查询接口。

如果某个接口已连接但未报告信号,它会在表格中显示但没有数值,并且图表会被隐藏。

要禁用 Wi-Fi 监控,请在 Agent 上设置 SKIP_WIFI=true。

平台支持 ​

平台数据来源说明
Linuxnl80211需要 NET_ADMIN。Docker Agent 还需要 network_mode: host。
macOSCoreWLANSSID 可能会被 macOS 隐私设置隐藏。
Windows原生 WLAN API接口以适配器名称命名,例如 Wi-Fi。
FreeBSD 及其他-不支持。

Linux ​

Agent 通过 nl80211 从内核读取信号,与 iw 使用的接口相同。当 /sys/class/ieee80211 中没有无线设备时会跳过采集,因此没有 Wi-Fi 硬件的主机不受影响。

Agent 需要 NET_ADMIN 权限才能查询无线接口。

Docker Agent ​

Docker Agent 只有在使用主机网络时才能看到主机的无线接口,同时还需要添加 NET_ADMIN:

yaml
beszel-agent:
  image: henrygd/beszel-agent
  network_mode: host
  cap_add:
    - NET_ADMIN

二进制 Agent ​

如果 Agent 不以 root 身份运行,需要为其授予该权限。对于 systemd 服务,请在 [Service] 部分添加:

ini
AmbientCapabilities=CAP_NET_ADMIN
CapabilityBoundingSet=CAP_NET_ADMIN

macOS ​

Agent 通过 osascript 从 CoreWLAN 读取信号,无需 sudo。

macOS 可能会对没有位置访问权限的应用隐藏 SSID。此时接口会显示为没有网络名称,但信号仍会被报告。

Windows ​

Agent 使用原生 WLAN API。接口以适配器名称命名,例如 Wi-Fi,如果名称不可用则回退为接口 GUID。

故障排除 ​

如果 Wi-Fi 列一直为空:

  • 确保 Agent 版本为 0.21.0 或更高,并且未设置 SKIP_WIFI。
  • 在 Linux 上,使用 iw dev <接口> link 检查接口是否已连接。
  • 确保 Agent 拥有 NET_ADMIN 权限。
  • 对于 Docker Agent,确保容器使用 network_mode: host。

基于 MIT 许可发布