Skip to content

Wi-Fi Monitoring ​

Beszel shows the signal strength of each system's connected Wi-Fi interfaces. This is available in agent version 0.21.0 and later.

The Wi-Fi column in the systems table shows the strongest connection. Hover over it to see every connected interface with its SSID. The system page has a Wi-Fi signal chart with the signal history of each interface.

The signal strength is the RSSI in dBm. Values closer to zero are stronger:

  • Green: -65 dBm or stronger.
  • Yellow: -66 to -75 dBm.
  • Red: weaker than -75 dBm.

How it works ​

The agent only reports interfaces that are currently connected to a network. It never scans for nearby networks.

The signal is collected on the normal update interval. Real-time mode reuses the last reading instead of querying the interface every second.

If an interface is connected but does not report a signal, it is listed in the table without a value, and the chart is hidden.

To disable Wi-Fi monitoring, set SKIP_WIFI=true on the agent.

Platform support ​

PlatformSourceNotes
Linuxnl80211Needs NET_ADMIN. Docker agent also needs network_mode: host.
macOSCoreWLANThe SSID may be hidden by macOS privacy settings.
WindowsNative WLAN APIInterfaces are named by adapter name, such as Wi-Fi.
FreeBSD and others-Not supported.

Linux ​

The agent reads the signal from the kernel over nl80211, the same interface used by iw. It is skipped when /sys/class/ieee80211 lists no wireless devices, so hosts without Wi-Fi hardware are not affected.

The agent needs the NET_ADMIN capability to query the wireless interface.

Docker agent ​

The Docker agent can only see the host's wireless interfaces with host networking. Add NET_ADMIN as well:

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

Binary agent ​

If the agent does not run as root, grant it the capability. For a systemd service, add this to the [Service] section:

ini
AmbientCapabilities=CAP_NET_ADMIN
CapabilityBoundingSet=CAP_NET_ADMIN

macOS ​

The agent reads the signal from CoreWLAN through osascript. It does not need sudo.

macOS may hide the SSID from apps that do not have location access. In that case, the interface is shown without a network name, but the signal is still reported.

Windows ​

The agent uses the native WLAN API. Interfaces are named by their adapter name, such as Wi-Fi, and fall back to the interface GUID if the name is not available.

Troubleshooting ​

If the Wi-Fi column stays empty:

  • Make sure the agent is version 0.21.0 or later and SKIP_WIFI is not set.
  • On Linux, check that the interface is connected with iw dev <interface> link.
  • Make sure the agent has the NET_ADMIN capability.
  • For the Docker agent, make sure the container uses network_mode: host.

Released under the MIT License