Monitoring EdgeRouter with Node Exporter

Monitoring EdgeRouter with Node Exporter

I've been monitoring my EdgeRouter 4 with SNMP Exporter for a while now. It works, but its a pain to manage the MIBs and having a separate service to maintain is annoying.

So lets try running node exporter on the EdgeRouter.

SSH into the router and install node exporter.

NOTE: Reader Travis reports that the Edgerouter X requires the "mipsle" binary to run.

# enter configure mode
# check the CPU architecture

# download the correct executable, with the EdgeRouter 4 I want the MIPS64 version

curl -L --output node_exporter-1.1.2.linux-mips64.tar.gz

tar -xf node_exporter-1.1.2.linux-mips64.tar.gz

cd node_exporter-1.1.2.linux-mips64

# test the executable

sudo mkdir /usr/bin/node-exporter

sudo cp node_exporter /usr/bin/node-exporter/node_exporter

# clean up the mess 
cd ..
rm node* -R

You should see "Listening on :9100" when you start node exporter

The next step is to create a node exporter service.

sudo vi /lib/systemd/system/node_exporter.service

sudo systemctl daemon-reload

sudo systemctl start node_exporter

sudo systemctl enable node_exporter


ExecStart=/usr/bin/node-exporter/node_exporter --collector.systemd --collector.logind --no-collector.bonding --no-collector.hwmon --no-collector.infiniband --no-collector.ipvs --no-collector.mdadm --no-collector.nfs --no-collector.nfsd --no-collector.powersupplyclass --no-collector.zfs --no-collector.xfs --no-collector.thermal_zone --no-collector.schedstat --no-collector.rapl --no-collector.btrfs --no-collector.bcache --no-collector.cpufreq --no-collector.edac



Once your service is setup, create a job in Prometheus to scrape the metrics.

Node Exporter vs SNMP Exporter


Network usage over 15 min with a speed test at 20:11 (tested 100mbps)
Same graph as above but with the series aggregated
Large speed test
# Node Exporter

# SNMP Exporter