Raspberry Pi and Network Monitoring

The Raspberry Pi is a single-board computer that is an excellent option for network monitoring. When compared to other small computers, the Raspberry Pi stands out thanks to its cost-effectiveness, versatility, and portability. Originally designed as a low-cost computer, it soon became a go-to option for implementing custom IoT solutions.

Many positive factors make the Raspberry Pi and excellent network monitor. The platform has an Ethernet and a Wi-Fi interface. It has sufficient compute power and RAM to run a Linux or Windows operating system. As a result, many network monitoring tools can use the Raspberry Pi as a remote sensor.

To monitor network traffic with a Raspberry Pi device, you use open source applications like iperf, ntop, or perfSONAR. You can install commercial network monitoring tools like NetBeez. Here we will cover both options, and include at the end links to other articles that cover this platform. 

Let’s dive into the world of Raspberry Pi and network performance monitoring.

Raspberry Pi Hardware Specifications

The Raspberry Pi device comes in three main configurations. This makes the platform versatile for a wide range of use cases. Let’s review each Raspberry Pi configuration id details.

Model B This is the original first model to come out. It includes all the features and parts such as an Ethernet and Wi-Fi interface, USB ports, and GPIO. This version is the most suited as a Raspberry Pi network monitor.

Raspberry Pi Model B

Model A – Has most of the features as a model B less the Ethernet network interface.

Raspberry Pi Model A

Pico and Zero are smaller than the A and B models. They have enough computing power and interfaces to makes them a good choice for embedded systems.

Raspberry Pi Model Zero

The Raspberry Pi model B is the best option for a network monitor agent. This version includes an Ethernet interface and more compute power than other models. The model A is also a good alternative to projects that don’t require an Ethernet interface.

Raspberry Pi Model B Versions

Since its launch in 2012, the Raspberry Pi foundation has released five versions of its platform. Let’s review the main differences between the different versions of the model B Raspberry Pi.

ModelVersionCPURAMEthernetWi-Fi

B/B+

1

700 MHz ARM11 processor

512 MB

100 Base-T

No

B

2

Quad-core ARM Cortex-A7 CPU 0.9 GHz

1 GB

100 Base-T

No

B

3

Quad Core 1.2GHz Broadcom BCM2837 64bit CPU

1 GB

100 Base-T

BCM43438 wireless LAN (2.4GHz only) and Bluetooth Low Energy (BLE)

B+

3

Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz

1 GB

Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)

2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 4.2 (BLE)

B

4

quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1. 5GHz

1,2,4, 8 GB

Gigabit Ethernet

2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 5.0 (BLE)

B

5

Broadcom BCM2712 2.4GHz quad-core 64-bit Arm Cortex-A76 CPU

4, 8 GB

Gigabit Ethernet, with PoE+ support (requires separate PoE+ HAT)

2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN

As referenced in the above table, the Raspberry Pi continued adding new capabilities and expanding its hardware specifications. Starting in version 3 it included a Wi-Fi adapter. In version 4, the Ethernet throughput increased from 300 Mbps to full Gigabit.

In version 5, it will also natively support Power-over-Ethernet, although it will require a separate board. PoE is a good alternative to the external power supply option.

Distributed Network Monitoring with Raspberry Pi

The Raspberry Pi enables organizations to implement distributed network monitoring in a cost effective way. This is possible by deploying network monitoring sensors all over the network. The sensors will monitor wired as well as Wi-Fi networks.

NetBeez is a synthetic network monitoring system where agents run continuous end-to-end performance tests. The centralized dashboard collects the performance data, in real-time, for visualization and alerting. A network administrator can easily gain network visibility of a multi-site, highly distributed network infrastructure. This enables them have a good understanding of remote network performance without being present at each remote site.

NetBeez request demo

In the next section, we will show you how you can start monitoring your network with NetBeez.

Setting Up Raspberry Pi Network Monitoring

The process of installing a NetBeez agent on a Raspberry Pi is pretty trivial. As a requirement for this procedure, you’ll need a NetBeez dashboard, a Raspberry Pi, and a network connection. If you don’t have a NetBeez subscription, request a NetBeez 15-day free trial.

Step 1: Raspberry Pi setup

Follow this step-by-step procedure to install the NetBeez network monitoring system on your Raspberry Pi device:

  1. Collect your Raspberry Pi board, the SD card, and the power supply.
  2. Flash the SD card with the default Raspberry Pi OS operating system, which was previously called Raspbian OS; in alternative you can install an Ubuntu or Debian flavor.
  3. Insert the flashed SD card into the Raspberry P, plug the HDMI cable to your screen, keyboard, and the power supply.
  4. Login to the operating system (you can also do via an ssh connection); make sure that you have an internet connection either via an Ethernet cable or the wireless network. 
  5. Download the setup script from the NetBeez repositories:
    • curl -L -O https://raw.githubusercontent.com/netbeez/agent-installation/master/agent_setup.sh
  6. Execute the setup script including your unique secret key (which is provided in the NetBeez dashboard):
    • sudo bash agent_setup.sh --modify-interface --secret=<secret_key>
  7. Once the setup script completes, you will see the Raspberry Pi network monitoring on your NetBeez dashboard as an agent.

Follow this alternative guide if you want to monitor WiFi with Raspberry Pi.

Step 2: Configure the Raspberry Pi network monitoring tests

Once the network monitoring software is installed, the Raspberry Pi will connect to the NetBeez network monitoring dashboard. In the following screenshot, you can see details about this specific agent. The agent connects to the network via an Ethernet cable. It runs Raspbian as the Raspberry Pi OS.

A Raspberry Pi Network Monitor managed by netBeez

NetBeez offers two ways for network and application monitoring: targets and scheduled tests.

Targets can be websites, SaaS applications, or anything else that has an IP or FQDN. NetBeez monitors targets by running periodic tests such as ping, DNS, HTTP, and traceroute. These tests run at regular intervals, down to every second if needed.

This granularity provides real-time and historical end-user experience. NetBeez reports performance metrics such as network latency, packet loss, DNS resolution time and HTTP loading time. These metrics are crucial for proactively detecting intermittent or complete loss of connectivity.

For example the following screenshot of a target to MS Teams.

Network monitoring target to MS Teams

Scheduled tests include iperf, network speed test, and VoIP. These tests provide network performance metrics such as download speed, upload speed, and MOS score. Scheduled tests run according to a user-defined schedule, which can be hourly or daily based on needs. In the following screenshot an iperf test reports throughput, packet loss, and jitter.

iperf test on a Raspberry Pi

Step 3: Configure alerts and notifications methods

The last important step of the configuration is to enable notifications when NetBeez finds anomalies in the network. By default, NetBeez generates alerts when the agents can’t reach a target either via ping, DNS, or HTTP.

NetBeez also supports performance alerts. These alerts compare a short-term moving average with a fixed value or a long-term baseline. This simplifies SLA enforcements or smart detection of performance degradation.

Alerts have the options to trigger notifications. NetBeez can send emails or generate events to notify network administrators and support teams. Events include SNMP, Syslog, and webhooks or actions with third party integrations. In fact, NetBeez supports out-of-the-box integrations with tools such as ServiceNow, MS Teams, Slack, and PagerDuty.

Utilizing Raspberry Pi for Real-Time Monitoring

A Raspberry Pi running Linux has access to a wide list of command line utilities. The most commonly used to collect network metrics are:

  • Ping to gather end-to-end connectivity, round-trip time, and packet loss
  • Traceroute to map the underlying network topology on a hop by hop basis
  • MTR is a similar tool like traceroute, but in addition to providing packet loss for each hop
  • Iperf is the go-to tool to run throughput measurements via TCP or UDP connections

At the same time, there are also open source network monitoring solutions that bring all these utilities together. These tools, like NetBeez, include a graphical user interface and data retention:

  • PerfSONAR which is a suite of tools that provide a minimal user interface web-based
  • Nagios and Zabbix are open-source network monitoring tools that have plugins for Raspberry Pi

Troubleshooting Common Network Issues with Raspberry Pi

Troubleshooting common network issues helps identifying and addressing the root causes of network failures. This task is crucial for maintaining a stable and efficient network. It also helps prevent disruptions that could impact both individual users and overall organizational performance.

Let’s see how NetBeez and the Raspberry Pi help detecting and troubleshooting Internet connectivity issues and more.

Complete loss of connectivity

In the unfortunate event of a complete loss of connectivity, users find themselves unable to access essential online services, communication channels are severed, and productivity grinds to a halt. Critical business operations are disrupted, and the inability to connect with servers or cloud resources impedes data sharing and collaboration. This loss of connectivity not only affects individual users but also has cascading effects on organizational workflows, potentially leading to financial repercussions and reputational damage. 

Completed loss of connectivity

Intermittent packet loss

Intermittent packet loss introduces a disruptive element into network communication, causing data transmission to be inconsistent and unpredictable. This phenomenon occurs when packets of information fail to reach their destination intermittently, leading to delays, disruptions, and potential data corruption. The impact is evident in degraded audio and video quality, slow-loading web pages, and interruptions in online activities. This erratic loss of packets hampers the reliability of network-dependent applications and services, adversely affecting user experience. 

Intermittent packet loss

Performance degradation in waves

Performance degradation in waves manifests as a cyclical ebb and flow of efficiency within a network or system. Users may experience intermittent periods of reduced speed, latency, or responsiveness, creating a fluctuating and frustrating user experience. This recurring pattern of performance dips can impact the seamless functioning of applications, leading to slower load times, disrupted streaming, and overall diminished productivity.

Performance degradation in waves

Frequent jittery behavior

Frequent jittery behavior in a network characterizes an unsettling scenario where data packets encounter erratic delays during transmission. This results in a jittery and inconsistent user experience, particularly noticeable in real-time applications like video conferencing or online gaming. The frequent disruptions can lead to distorted audio, pixelated video streams, and overall diminished quality. 

Frequent jittery behavior

Conclusion on Raspberry Pi Network Monitoring

The Raspberry Pi’s cost-effectiveness, small footprint, and network capabilities position it ideally for real-time network monitoring.

Utilize it as a sensor with open-source tools such as iperf or opt for a commercial solution like NetBeez. NetBeez offers straightforward setup, customizable tests like ping and traceroute, and automatic alerts for unusual network behavior.

The Model B is the best suited for building a Raspberry Pi network monitor. This model stands out for its processing power and Gigabit Ethernet. Agents help oversee network performance and address issues like connectivity loss, packet loss, or performance degradation. With a Raspberry Pi network monitoring tool, maintaining a robust and budget-friendly network has never been easier.

Raspberry Pi related articles

decoration image

Get your free trial now

Monitor your network from the user perspective

You can share

Twitter Linkedin Facebook

Let's keep in touch

decoration image