Track Your Internet Quality for Free - Netprobe Full Tutorial
Ғылым және технология
In this continuation video to 'Speed Overkill - How ISPs Sell You Bandwidth You Don't Need', I show you how to install and use the free open-sourced tool Netprobe to monitor the quality of your ISP connection over time. We cover a little theory on how Netprobe works, how to get the app launched in docker, and finally how to read the data from each metric.
To get started with Netprobe:
1. Download the repo here: github.com/plaintextpackets/n...
2. Install docker: docs.docker.com/engine/install/
3. From the command prompt / linux shell within the code folder, type 'docker compose up'
4. Navigate to localhost:3001
Useful links:
Speed Overkill: How ISPs Sell You Bandwidth Instead of Performance (+ Bonus Free ISP Monitor Tool) - • Speed Overkill: How IS...
Support the channel:
buymeacoffee.com/plaintextpm
Discord:
/ discord
Пікірлер: 147
Nice Tool! I myself do monitor my internet connection with "uptime kuma" and it realy helped me to presure my ISP to change the kabeling to me. (I showed reciets for when the internet was down or had rely high ping which was 1 day per week.) Long story short the cable was changed and i now have a great connection.
Thank you 😍I recently had some issues with my ISP and can now provide evidence. My current package loss is ~70%. I have two different providers - I switched to another one and it has 0%. Thank you again, now I have something in my hand 😀
@plaintextpackets
Ай бұрын
Amazing! Share with your friends :-)
I dig it. Great tool. Seems to work as advertised. Now to convince the ISP that the data collected means anything
@TheCheshireCat.
Ай бұрын
When most ISPs around world work off a script, good luck convincing them. 😂
@mtnsolutions
Ай бұрын
@@TheCheshireCat. haha. Can I please speak with an engineer?
@mtnsolutions
Ай бұрын
@@TheCheshireCat. I just can’t wait until the ISPs start to refuse us service other than gigabit fibre and charge us more for the bandwidth they know we’re never going use
@TheCheshireCat.
Ай бұрын
@@mtnsolutions 😂
Thank you sir for clearly stating the units in .env-file ‘threshold’ values. It is so annoying when it is not documented in other software or code. Thank you! 🙏 keep it up 🍻
This is something that I've wanted for so long, yet had no idea it was a thing, or where to look. Thanks so much for the video. Already have it installed and collecting info on my shitty ISP.
@plaintextpackets
Ай бұрын
Glad it works for you! Feel free to join the discord if you have any issues or need help interpreting the data
Thanks for this, I just installed this on a pi that already runs pihole and octoprint. It's very light weight and works well
@plaintextpackets
24 күн бұрын
Great to hear! Tell your friends
this is great, thanks for the detailed overview. super easy to get up and running
@plaintextpackets
Ай бұрын
Glad it was helpful!
Wow. This is unbelievably polished. I appreciate it when I can use a git command plus a docker compose command and it just works. I definitely spread this among some friends.
@plaintextpackets
8 күн бұрын
Thank you!
Thanks for the demo and info, have a great day
@plaintextpackets
Ай бұрын
Thanks, you too!
This is a tool I've been searching for. I installed version v1.2.0 on a Raspberry Pi 4, but I didn't get any data until I saw you directing someone to use version v1.0.0. I did the same, and now it is up and running. Thanks a lot.
@plaintextpackets
Ай бұрын
Just posted an ARM 64 image so you can use v1.2.0 now
@semakof
23 күн бұрын
@@plaintextpackets Tried it now and v1.2.0 is working perfectly on Raspberry pi 4. Thanks.
Thank you for your great contribution! The Netprobe is up and running in a Docker, on Virtual Machine (had some issues to resolve with the Docker Desktop on VM and my host machine but it's over). Netprobe is running and collecting data - this is really great tool! I'd like to point to some important finding which is the quite big difference in case of physical and virtual machine. Your score on physical machine is above 94, while mine in VM is 87%. I will let it run for some time to gather more info for statistics but for now it's ZERO of Packet Loss. Thanks again!!
@plaintextpackets
Ай бұрын
Awesome! So the score is only locally relative since your latency score will be different than others to the anchors. But it’s useful for you to track to see how that score goes up and down over time, how it responds when you have load, etc Also join the discord!
@AlexeyElishaVoloshin
Ай бұрын
@@plaintextpackets What's Discord for?
@plaintextpackets
Ай бұрын
We have a chat there for the channel and for Netprobe support
Great video, another actual use for my "home server" cheers.
@plaintextpackets
Ай бұрын
Awesome
thanks for this tool & very informative video. I installed this last night on my proxmox vm running docker and it's working very nicely. I'm already seeing a trend after running it for past 12 hours or so and seeing pocket losses different times during the day/night. Also, my Average Latency is currently sitting at 55%. Will be interesting to see the data over a week or two period before I talk to my ISP as I have noticed performance issues with my internet and this tool is really going to help me narrow down the issue. Thanks again - liked & subscribed :)
@plaintextpackets
24 күн бұрын
Awesome! Tell your friends
I really like your channel and how its focused on networking. Can you please make an episode that overviews home network solutions for network traffic monitoring and analysis? Alternatives to ntopng would be nice... or something that can monitor each network switch port on and track src/dst IP ports and bandwidth usage for each application on the network (even if no ndpi is possible)
Great little guide! One small tip: use command `docker compose up -d` to not have Docker take over your terminal!
@plaintextpackets
Ай бұрын
I’ll add that to the readme
@mechwarrior83
Ай бұрын
@@plaintextpackets thank you, --detach for full 😊
Great tool. Thank you.
I am loving this tool! I just switched ISPs so it's been really nice to evaluate them, but just today I have been having an issue where my internet completely drops and that is not being taken into account by the average. It just doesn't show anything in that time where it was dropped. Or maybe it is being taken into account and my score is still in the 80s
@plaintextpackets
Ай бұрын
So Netprobe samples every 30s so if you have drops faster than that it may not pick it up. I would join the discord to share your findings, a lot of people are comparing
How to configure this in proxmox lxc container???
Greate video bro👏.please make a video about zerotier
Very nice. I now have Netprobe running inside a docker desktop on my PC and it brought interesting insights. Is there a possibility to run this within Home Assistant (HA OS)?
@plaintextpackets
25 күн бұрын
I’ve never used HA OS but if there is a demand for it I can start looking at it
This is awesome
very nice thx!
Is there any way to build tracert into think like ping plotter does? That way we can see the next hop statistics. Ideally that would show the point in the network that is causing the problems. Making it more useful for identifying if there is wifi issues vs upstream from the gateway or on the endpoint servers? I'm putting together a jump box for customer sites. Which I'll have multiple wifi and ethernet adapters. I often get "wifi is not working" with little to no contextual information. During inspection the wifi is working fine. Usually an issue with the the service they are using being slow or unresponsive
@plaintextpackets
19 күн бұрын
Something I’ve thought about, right now working on the Speedtest feature
Omg this is so cool i love ypu thank you
@thelitepredator
Ай бұрын
I want to get into docker and github now because of this.
I hit a bump in that Grafana wants to use port 3001 which is already being used by Uptime Kuma on my setup. What other port could I use, and how to I change that value in setup? Thank You!
@plaintextpackets
6 күн бұрын
Check the readme it has instructions for that
This is a great tool that I want. Would you please tell me where should I install the netprobe on if it’s not on my pc/laptop? Where that machine should be placed and how it could more the traffic on the network? Thanks in advance!
@plaintextpackets
29 күн бұрын
It would be something like a pc you aren’t using (an older machine), or a mini PC like a Raspberry Pi
@lanphanh
28 күн бұрын
@plaintextpackets yes, but how could it monitor the traffic? Do we have to configure a TAP (monitor) port on the router where the pc plugged in?
@plaintextpackets
28 күн бұрын
Netprobe sends probes (pings and dns) through your isp to test the connection quality. So you don’t need to have a tap to monitor.
Is this a good solution for someone who has two links in a failover configuration? I suspect I won't have access to the information of the two links when failover is triggered.
@plaintextpackets
20 күн бұрын
It will keep running through the failover but you’ll likely see stats change as the link quality in one likely doesn’t match the other. A few users have already tested that and that’s how they are detecting the failovers
@revosven
18 күн бұрын
@@plaintextpackets I am going to test with a bonding solution, happy to share the results if you are interested.
This is awesome. What would be the chances of increasing the amount of tested sites to say 20?
@plaintextpackets
Ай бұрын
I can consider it, it's a tradeoff between being able to ping enough of the sites at once using threading without the threads interfering with one another. I'll test it in future.
Did not work for me. Had to change first line in Dockerfile from `ubuntu` to `python`
@oOGuidoOo
Ай бұрын
Thanks a lot! Had the same issue and now it works great 🙂
@plaintextpackets
Ай бұрын
Hmm maybe you couldn’t grab the Ubuntu image for some reason. Good to know! Also join the discord lots of discussion going on about it
@gabriellevesque2185
18 күн бұрын
@@plaintextpackets It's also better to use the most minimal image as possible for a multitude of reasons, using python vs ubuntu image is both better in terms of using an image that is specifically only made to run python, meaning it doesn't need a full distribution behind it. They strip down what they can (and should) if the image is made with efficiency in mind.
@plaintextpackets
18 күн бұрын
@gabriellevesque2185 check out the latest version it uses python slim
I’ll have to add this to my RPi cluster.
@plaintextpackets
Ай бұрын
It works on RPi 👍🏽
@unclerojelio6320
Ай бұрын
@@plaintextpackets Yes, yes it does. Looks great. I would be in favor of adding a speed test if the frequency of the test was configurable. I have a janky script that does a Speedtest and saves the result but I’ve been too lazy to write something to graph the results.
Great video is it possible to change the port from 3001 easily
@plaintextpackets
Ай бұрын
It’s a little tricky, you’d need to create a grafana.ini file and then map to it using the docker build file. If interested join the discord and I can help figure out instructions
Is there a non-docker install option? I dont mind having a dedicated small form factor PC running Linux for this software.
@plaintextpackets
26 күн бұрын
Unfortunately not, to make it a standalone would make packaging difficult. However docker can be run in a variety of platforms including raspberry pi 4
@RealMrObvious1
26 күн бұрын
@@plaintextpackets Right. It's just that the last time I tried to install Docker on my Windows 11 PC I ended up having to reload the OS when Docker failed to install properly and could not be removed successfully. Bad experience. I guess I can give it a try on a linux host that I dont carte about. See if it works. Thanks!
i wanna ask for, if i docker compose up, i get warning Error testing network, maybe can u help ?
@plaintextpackets
Ай бұрын
Please join the discord and we can help you troubleshoot !
bro jeff geerling gave same approach, you could benefit it from him - by adding cli speedtest runs - your overall approach suits me more, only speed test is missing
@TheMrPedrose
19 күн бұрын
Speed tests too would be an awesome addition to this - one stop shop for ISP metrics
@plaintextpackets
19 күн бұрын
Speedtest will be available in the next release
Great All running good 5*
@plaintextpackets
26 күн бұрын
Amazing
Is there a way to run it with out docker. I have a Ubuntu server and Prometheus with Grafana installed on it. could you please make a video about it please.
@plaintextpackets
14 күн бұрын
Currently you can’t run it without docker but you can run just the probes and then connect external Prometheus and grafana. If interested join the discord to get help
I used quad 9 dns. So what would I put in for my dns thanks
@plaintextpackets
Ай бұрын
I would put another public DNS server then so you can compare against quad 9
Do you think this can be installed on unraid?
@plaintextpackets
Ай бұрын
I think docker supports unraid
my issue is isp monopoly in the area
@plaintextpackets
Ай бұрын
This occurs too often
Thanks a lot for this great tool! Is it possible to add in a easy way also a speed test? Would also be nice to link it to an existing grafana installation.
@plaintextpackets
Ай бұрын
I left the Speedtest out of this version as it consumes a large amount of data over time, which would impact anyone who has a data cap
I’m getting lots of errors. Running this in an Ubuntu proxmox vm behind opnsense router
@plaintextpackets
Ай бұрын
Join the discord and post your errors, we can troubleshoot
it does not congest the network ?
@plaintextpackets
Ай бұрын
Nope. Netprobe uses ping and DNS queries every 30s, so uses only KBs of data per hour
This does not install on a linux system.. Using portainer it fails.. Using manual docker compose up it erros with a lot of ubuntu errors.... Tried manual install with portainer,, tried the create stack from git repository.. Nothing.. just errors out... Debian based LXC on proxmox which otherwise functions fine. Latest version of docker installed and running multiple containers. So I assume this is only for a docker for windows dekstop version? The script fails with apparently trying to get ubuntu resources....
@plaintextpackets
Ай бұрын
Latest version will have the image on Dockerhub so you can skip the build locally. Should be out tonight. Join the discord for updates: discord.gg/CV5DzzaYF5
docker? on a pi?
@plaintextpackets
Ай бұрын
Yup, seems to work well on ROI4
Nice! internet quality 96%
will this run on a Pi?
@royalcanadianbearforce9841
Ай бұрын
Yes. Runs fine on my RPI4
@krno2967
Ай бұрын
yes, docker container can (should) run on nearly any device (mac, linux, windows)
@henslee
Ай бұрын
Ok thanks
Having trouble getting it to work on Linux.
@plaintextpackets
Ай бұрын
Is docker already installed? Feel free to join the discord to troubleshoot
grafana wont load
14:35 it may break the internet 😂😂
Please time stamp
Failed because of many errors on my mini PC.
@jamesxu
Ай бұрын
failed to solve: process "/bin/sh -c apt-get update -y && apt-get install -y python3 && apt-get install -y python3-pip && apt-get install -y iputils-ping && pip install -r /netprobe_lite/requirements.txt" did not complete successfully: exit code: 1
@jamesxu
Ай бұрын
error: externally-managed-environment 118.9 118.9 × This environment is externally managed 118.9 ╰─> To install Python packages system-wide, try apt install 118.9 python3-xyz, where xyz is the package you are trying to 118.9 install. 118.9 118.9 If you wish to install a non-Debian-packaged Python package, 118.9 create a virtual environment using python3 -m venv path/to/venv. 118.9 Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make 118.9 sure you have python3-full installed. 118.9 118.9 If you wish to install a non-Debian packaged Python application, 118.9 it may be easiest to use pipx install xyz, which will manage a 118.9 virtual environment for you. Make sure you have pipx installed. 118.9 118.9 See /usr/share/doc/python3.12/README.venv for more information. 118.9 118.9 note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. 118.9 hint: See PEP 668 for the detailed specification. ------ failed to solve: process "/bin/sh -c apt-get update -y && apt-get install -y python3 && apt-get install -y python3-pip && apt-get install -y iputils-ping && pip install -r /netprobe_lite/requirements.txt" did not complete successfully: exit code: 1
simple cmd program & simple txt log can solve this track
Would be great if it could spell ‘Packet’
@plaintextpackets
Ай бұрын
LOL already fixed today
@shuntera
Ай бұрын
@@plaintextpackets Sorry for being terse :-) It just jumped out at me right away!
Drink some water please, otherwise great videos
You're missing on of the important thing. Why you missed speedtest
@plaintextpackets
Ай бұрын
Running a continuous Speedtest would consume a large amount of bandwidth over time, so it’s left out of this version
@mukto2004
Ай бұрын
@@plaintextpackets yeah just run every 30min or so
@mukto2004
Ай бұрын
@@plaintextpackets even better if there was an webhook alert options when ping or speed is low
sooooo waffly
Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/run/desktop/mnt/host/c/netprobe/config/grafana/dashboards/netprobe.json" to rootfs at "/var/lib/grafana/dashboards/netprobe.json": mount /run/desktop/mnt/host/c/netprobe/config/grafana/dashboards/netprobe.json:/var/lib/grafana/dashboards/netprobe.json (via /proc/self/fd/6), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
@plaintextpackets
12 күн бұрын
Join the discord and we can troubleshot
@sione5754
11 күн бұрын
@@plaintextpackets how to join the discord ?
@sione5754
11 күн бұрын
@@plaintextpackets ?
@sione5754
11 күн бұрын
@@plaintextpackets how to join discord?
@plaintextpackets
11 күн бұрын
discord.gg/CV5DzzaYF5