Smokeping is a popular tool to measure and graph latency and packet loss to Internet destinations of your choosing.

Use cases would be to track the quality of your ISP connection, or just to look at some pretty graphs 😊

smokeping screenshot

Installing on VyOS

It’s a pretty simple process, the main thing that is not talked about in most docs is that you need to give the container access to net-raw kernel privileges, otherwise fping will give you a “Operation not permitted” error.

# In operational mode add the image to the system
add container image lscr.io/linuxserver/smokeping:latest

# Create local directories for config and data
mkdir -p /config/smokeping/config
mkdir -p /config/smokeping/data

# Go into configuration mode and setup the image
configure
set container name smokeping capability 'net-raw'
set container name smokeping environment PGID value '1000'
set container name smokeping environment PUID value '1000'
set container name smokeping environment TZ value 'America/Toronto'
set container name smokeping image 'lscr.io/linuxserver/smokeping:latest'
set container name smokeping network smokeping
set container name smokeping port web destination '80'
set container name smokeping port web source '8222'
set container name smokeping volume config destination '/config'
set container name smokeping volume config source '/config/smokeping/config'
set container name smokeping volume data destination '/data'
set container name smokeping volume data source '/config/smokeping/data'
set container network smokeping prefix '172.16.222.0/29'
commit
save

You should now be able to browse to your VyOS IP on port 8222, for eg. if it’s 192.168.0.1 you should browse to http://192.168.0.1:8222

Configuring Smokeping

From a VyOS shell, run sudo vi /config/smokeping/config/Targets to edit the Targets file.

You’ll probably want to edit the value of remark at the top to make it personal to your install.

See https://oss.oetiker.ch/smokeping/doc/smokeping_examples.en.html for help customizing the remaining options. I’d recommend adding a local site such as your ISP’s web site or upstream gateway.

After editing the Targets file, run the command restart container smokeping for the changes to apply.