Over the last 6 months or so, I’ve had problems with my Comcast Internet service intermittently cutting out every so often.  As the end user, what I’ve noticed is packet loss,  sometimes it’s a small amount over a short amount of time (minutes), others a large amount over a long amount of time (hours).  Initially the issues were few and far between, so I didn’t give it much notice.  However in the last month or so, it’s become a lot worse (once or twice a week).

I had initially setup Smokeping to monitor when problems started happening.  I had it ping the inside IP of my router, the private IP of the cable modem and the next hop route my router is given in it’s DHCP lease.  It helped me make sure the cable modem was up when I started having packet loss.

While this was nice to know when it was happening, it doesn’t really give you any data that helps with the why.  When I would call Comcast Tech Support, they could confirm the levels on my cable modem weren’t in desirable parameters, but I didn’t get the feeling the knew what they were (or recording them).  Then last week I ran into Jeff Forman’s post about how he was monitoring the signal to noise ration with a custom Munin plugin he had written.

Since I had just started playing with Munin and was looking for a coding type project to work on, I decided to bust out my horribly rusty Perl skills and write my own plugin.  Now I have purdy graphs that look like:

In case this plugin might be useful to you, I’ve made it available here at Github.