How To Get Real Time Network Monitoring On Linux With Netdata
Netdata is a slick, open source web-browser based system monitoring tool with real time network monitoring for the Linux platform. It gives insights on dozens of aspects to Linux servers and desktops, via an advanced control center.
Install Netdata
The Netdata tool is very popular in the Linux server space, due to how easy it is to track lots of different metrics. However, the system data it collects isn’t specific to Linux servers and thus proves to be useful for even average Desktop users looking to learn more about how their machine operates.
Ubuntu
The Netdata monitoring application is available for Ubuntu users on both Desktop and Server via the official software sources. To install the software, open up a terminal window and use the Apt package manager.
sudo apt install netdata
Debian
Debian has a version of Netdata available in the official software repositories. As it is open source, no special settings need changing. That said, if you dislike the fact that the Debian operating system often lags behind other Linux distributions, you may want to install Debian Backports. Enabling this feature will give you a newer version of Netdata.
To install the Netdata monitoring tool on Debian, open up a terminal and use the Apt-get command.
sudo apt-get install netdata
Arch Linux
Arch Linux has a fairly recent version of Netdata in their software sources. To install it, open a terminal window and sync it with Pacman.
sudo pacman -S netdata
Fedora
Unfortunately, the developers of Netdata neglect Fedora Linux, by not providing a version of the software as an installable RPM. Instead, those on Fedora looking to use this software should follow the Generic instructions.
OpenSUSE
OpenSUSE has excellent Netdata support. Thankfully, this support is within the main software sources, so users won’t need to fuss with third-party repos. To install the software under OpenSUSE, launch a terminal window and use the Zypper package manager.
sudo zypper in netdata
Generic Instructions
Aside from the main Linux distributions, Netdata has pretty good support in the form of an executable Bash script. This script, when downloaded installs a static binary version of the software on any Linux system. The beauty of this method is that no matter what OS you’re running, Netdata will work just fine.
Installing Netdata via the installation script works best with the Curl downloading tool. Usually, the Curl tool is standard on most Linux distributions. However, if for some reason, the Curl tool isn’t on your Linux PC, you’ll need to install it before continuing.
Once installed, do the following to get Netdata working.
32-bit version
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
64-bit version
bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)
Source Instructions
The Netdata script is the way most should go for using the tool on a system that doesn’t officially have support for the software. Still, if the script fails for some reason, there’s an alternative: building from source. To compile the software from source, head over to the official Github page and learn what dependencies Netdata requires before building.
Once you’ve got all the dependencies working on your Linux PC, do the following:
git clone https://github.com/firehol/netdata.git --depth=1
cd netdata
./netdata-installer.sh
Using Netdata
Users have access to Netdata locally, as well as remotely on any machine that has direct access to the Server/PC running it. Installing Netdata on the Linux desktop makes the tool available with the “localhost” IP address.
https://127.0.0.1:19999
However, users planning to access Netdata remotely, over the network won’t be able to access it this way. Instead, to access the Netdata monitoring tool from one machine to another, open up a terminal and run the following to determine the IP address:
ip addr show | grep 192.168
Running the ip addr show command with grep will isolate the IPv4 local address. Copy the IP address and paste it into a new browser-tab to access Netdata anywhere on LAN:
https://192.168.X.XXX:19999
Once in the Netdata app, look to the side and click through to view different metrics. Alternatively, it is possible to browse through the hundreds of graphs by scrolling with the mouse.
Netdata is a passive tool. All it does is collect information on Linux systems. It has no ability to modify the system in any way (by killing programs or changing things). Instead, users are encouraged to check in with it once in a while and let the software run in the background for a long period of time to collect metrics.
CPU Usage
Need to view CPU usage for the system? Look to the side-bar of the Netdata web app and click the “CPUs” icon.
Inside CPUs, data is broken down into many sub-categories, like “utilization,” “interrupts,” softirqs,” “softnet,” “cpufreq,” and “cpuidle”. These categories show different aspects of how the system’s processor is working.
For the average user, “Utilization” is the section that matters most, as it shows an in-depth readout of how the system is making use of the CPU overall.
Everything is separated by cores, ensuring users get in-depth information about how each core is doing.
RAM Usage
Aside from CPU usage, many users worry about memory usage. They want to know how the system is managing RAM, what’s the average amount of memory being used, etc. To access Netdata’s metrics on system memory, click on “Memory” in the sidebar.
The “Memory” section gives a real-time readout of system memory in use, the amount of unused RAM, and even how the Linux kernel itself is managing it.
Export Data
Netdata collects a lot of useful data, and fast. Thankfully, all of these metrics can easily be exported (via PDF) for safekeeping or to use in a report, etc.
Exporting real-time data from the Netdata app is quite simple. To do it, visit the web interface and click the print icon to bring up the browser printing menu.
In the printing menu, look through for the option labeled “print to file” and select it to generate a PDF file of the data.