Netrics - Active Measurement of Network Performance
What: a software framework to concentrate and run dedicated computer network measurements.
For Whom: internet users, network engineers and the general internet research community.
Why: to troubleshoot impaired computer networks, to understand how the internet is evolving, and to support decisions on internet infrastructure capacity planning.
Netrics runs on dedicated SBC's (Single Board Computers) like the Raspberry Pi, NVIDIA Jetson Nano or any other Ubuntu amd64 compatible device. The active Netrics package (this repo) is mainly responsible for measurements that actively generate network traffic in order to assess network's performance metrics. As a complement to the active measurements, the passive Netrics can produce network perfomance metrics from passively listening to the network. The latter does require complementary hardware in order to produce performance data.
Figure 1. On the left, a Raspberry Pi simply connected to a modem's Ethernet port. On the right, a complementary wifi and switch are required to enable passive Netrics.
The python source code, after installed resides on:
/usr/local/src/nm-exp-active-netrics/*
The local data (SBC storage) is located at:
/var/nm/nm-exp-active-netrics/upload/pending/*
(pending upload),
/var/nm/nm-exp-active-netrics/upload/archive/*
(uploaded, safe for deletion)
Configuration can be found at:
/etc/nm-exp-active-netrics/*
Please use the unmanaged installation with direct influxdb data ingestion if you're a developer or researcher planning to contribute with code, testing and building of NetMicroscope/Netrics Open Source software. For all other cases, please use the managed installation method.
- Checkout the latest pre-releases and releases at link.
- Copy link and login into your Jetson Nano device, download .deb file:
wget https://github.com/chicago-cdac/nm-exp-active-netrics/releases/download/v0.1.10-arm64/nm-exp-active-netrics-v0.1.10-arm64.deb
- run
sudo apt install ./nm-exp-active-netrics-v0.1.10-arm64.deb
(To reinstall run):sudo apt remove --purge nm-exp-active-netrics
sudo apt install --reinstall ./nm-exp-active-netrics-v0.1.10-arm64.deb
, and if necessary run:sudo rm -Rf /usr/local/src/nm-exp-active-netrics
- edit your
/etc/nm-exp-active-netrics/nm-exp-active-netrics.toml
file to include [iperf] target servers and appropriate [limit_consumption] values:
...
[iperf]
targets = ["server:33001"]
...
[limit_consumption]
measured_down = 5
max_monthly_consumption_gb = 200
max_monthly_tests = 200
...
- Create .env.netrics file with server credentials
sudo vim /etc/nm-exp-active-netrics/.env.netrics
:
INFLUXDB_SERVER= INFLUXDB_PORT= INFLUXDB_DATABASE= INFLUXDB_TOKEN= INFLUXDB_ORG= INSTALL_ID=myid <---- use your lastname here so you can filter out grafana/influxdb queries.
- Restart netrics:
sudo /etc/init.d/nm-exp-active-netrics restart
- Check health with
netrics -C
and logs withnetrics -L
TBD