This plugin scrapes upstream/downstream channel information from an Arris cable modem status page.
All this was developed on a Raspberry Pi 2 running Debian (Raspbian) Jessie. So it's using dated components like beautifulsoup3 and python2.
- collectd
- python2.7
- python-requests
- python-beautifulsoup
Install collectd and python modules
sudo apt-get install collectd python-requests python-beautifulsoup
Copy python script and types.db to /etc/collectd
cp arris_modem.py /etc/collectd/
cp arris_modem_types.db /etc/collectd/
Add the following lines to your collectd.conf
TypesDB "/etc/collectd/arris_modem_types.db"
<LoadPlugin python>
Globals true
</LoadPlugin>
<Plugin python>
ModulePath "/etc/collectd"
LogTraces true
Interactive false
Import "arris_modem"
<Module arris_modem>
Host "mymodem"
Url "http://192.168.100.1"
</Module>
</Plugin>
Then restart collectd
sudo systemctl restart collectd
Example Grafana dashboard