Smokeping on Nginx

Smokeping is one of my favourite diagnostic tools for tracking down sporadic network issues.

You install it, configure it with a list of hosts, and it pings them regularly, and keeps track of the round-trip times, latency, packetloss, and so on.

The web frontend is a Perl CGI script, and as a result, it's a bit of a bugger to make it work on Nginx.

I wasn't gonna install Apache just for this one thing...

Firstly, my server I'm doing this on is ancient, so I installed Smokeping from source. If you're running a more modern OS, and one where apt-get doesn't return 404 for the package files, I suggest you use vendor provided packages (or community provided PPAs).

Let's get to it.

I downloaded Smokeping 2.6.8 from here. These installation instructions are great. I already have rrdtool installed as it's a dependency of Munin (another firm favourite of mine) too.

Fping I downloaded from here , and shamefully built from source too.

The recommended webserver is Apache, but as I'm using Nginx already, and prefer it over Apache for performance and scalability, I decided it couldn't be that hard to do it without Apache.

I had to install a bunch of prerequesite Perl modules. Fortunately, once you've extracted the smokeping distribution archive, there's a script "setup/build-perl-modules.sh" that does all the hard work for you.