Setup #prometheus and #grafana on a local server and scraping #node_exporter from local and remote servers. The remote server exporters only listen on a #wireguard vpn so i don't have to open firewall rules.

I should have done this a long time ago.

@mike Isn’t it awesome?? I am doing the same thing and I really like it.

The only metric I have trouble with is the transmit and receive bytes. I understand what they are telling me but I can’t seem to figure out a benchmark for what’s nominal and acceptable and what threshold I should get alerts for.

I’m sure it’s dependent on each persons network, but I can’t figure how to run benchmark tests to setup a baseline. Let me know if you’ve figured that part out!

@notnorm If you want to see the max bandwidth you can handle you can use iperf3 but you will probably want to own both sides of the connection. That will require a fast connection on the remote side. Other than that, you could look at percentages of your max upload and download speeds. You would probably want the alerts to only trigger over some sustained period of time. Not sure if this is what you were looking for or not.

@mike Yeah that’s a good point. Having a gauge of max and min speeds as a point of reference isn’t a bad idea.

In most cases I do own both portions of the tunnel but I’m not sure how to get the peer data into prometheus remotely. Having the server side is better than nothing.

@notnorm If the peer is running node_exporter you can point the server side prometheus at it. If prometheus is on the peer side you can use federation to pull one prometheus into another. https://prometheus.io/docs/prometheus/latest/federation/

If you can't do either of those things, it depends on what the peer side is to know where to look next.

Federation | Prometheus

An open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.