NetVizura on Raspberry Pi 4

pexels-marko-blazevic-1053687

NetVizura is a complex software composed of a few databases, Tomcat, and a lot of code, supported on Windows and numerous Linux distributions for AMD64 architecture. With the advent of 8GB RAM RPI 4, there have been numerous projects using this version in its implementation. Maybe the most famous would be ESXi on ARM with project Monterrey (we internally dominantly use Proxmox, while Xen and ESXi we use from time to time). We think that with time, Raspberry Pi 4 is becoming a first-class citizen of the new IoT and Edge computing spaces.

In this blog post, we will explore ARM SBC (Single Board Computer) and the possibility of running NetVizura on Raspberry Pi 4.

Raspberry Pi 4 specifications and history 

Raspberry Pi 4 is the latest release of the Raspberry Pi foundation, and the first one to be shipped with 8GB RAM. There are, of course, lower RAM models (1, 2, 4 GB), but because NetVizura runs two databases in the background, it is always preferable to have more RAM. Besides RAM, it possesses a 1.5 GHz quad-core, and a full Gigabit Ethernet port, 2 USB 3.0 ports, and an SD card port. Raspberry Pi 4 is powered via a USB-C port. All of this is pretty much enough for running NetVizura (check out System Requirements).

The only downside of Raspberry Pi 4 is the SD card used for OS. Databases like PostgreSQL and Elasticsearch prefer a lot of IOPS, leading to the fast burn of SD cards. That is why it is recommended to use an external drive for PostgreSQL , Elasticsearch, and raw data.

Raspberry Pi 4 in action

Raspberry Pi 4 Operating System

The distinction between Raspberry Pi 4 and, let's say, regular PC is in a different architecture. PCs use AMD64 architecture, while Raspberry Pi 4 uses ARM64. Meaning, we cannot copy all from our workstation in terms of the installation procedure, hoping that everything would work due to numerous incompatibilities. However, luckily for us, the Raspberry Pi ecosystem is one of the best in the world. 

Raspberry Pi 4's default OS distribution is Rasbian, or how it is now called Raspberry Pi OS (this is Debian 10 base). You can download operating systems from Raspberry Pi's website and burn them onto an SD card with software like Etcher, win32diskimager, Raspberry PI imager, etc. The issue with the current RPIOS distro is its 32-bit nature, while Elasticsearch and similar software require a 64-bit distro. However, this should be solved with RaspiOS arm64 , currently in the beta phase.

As mentioned in the beginning, an SD card is insufficient for database and raw data storage, so there are two options when it comes to running NetVizura on Raspberry Pi 4:

1. to move the database and raw data onto an external drive (easily configured)

2. to boot Raspberry Pi 4 from an external drive (requires up-to-date BIOS and configuration from the PI itself).

Option 2 can be managed with the raspi-config command combined with option B2, as you may see in the screenshot above. 

Installation  

Once the system is setup with one of the two options listed above, we need to get it up to date, with either apt update && apt dist-upgrade –y, or apt update && apt full-upgrade –y. Then we need to install java8, but because it is not available in Debian 10 Buster, we need to add another repo with the following commands:

The next step would be to install Tomcat 9:

Postgres is installed straightforwardly with Debian 10:

 Before we install Elasticsearch, some additional steps are needed to allow Tomcat to work with NetVizura:

Elasticsearch installation is done with manual download of the .deb file , and by installing it with dpkg –i.

Additional optimizations for Elasticsearch are:

Now everything should be ready for NetVizura deployment. We should download .deb file for Debian 10 Buster, and just install it in the same way as Elasticsearch - with dpkg –i.

After the installation, NetVizura should be running and available via http://localhost:8080/netvizura , or the external IP of Raspberry Pi 4.

This blog has been an experiment since we don't officially support NetVizura on ARM architecture. However, as we can now see, not only is it possible, but the performance on Raspberry Pi 4 is really great for a cheap (around 150e for the complete machine) and frugal platform.

NetFlow probe – a real-world example
OPNsense NetFlow and EventLog configuration

Related Posts

By accepting you will be accessing a service provided by a third-party external to https://www.netvizura.com/

Contact

Mailing and Visiting Address:
Soneco d.o.o.
Makenzijeva 24/VI, 11000 Belgrade, Serbia
Phone: +381.11.6356319
Fax: +381.11.2455210
sales@netvizura.com | support@netvizura.com

CONNECT WITH US:

linkedin facebook facebook