Setting up Smokeping
Smokeping is a network latency monitor webapp.
Install smokeping and lighttpd from main repository.
apk add smokeping lighttpd
In lighttpd.conf uncomment line: include "mod_cgi.conf", save and exit
Assign cgi to run with /usr/bin/perl in /etc/lighttpd/mod_cgi.conf (by default it's only in cgi-bin virtual host):
cgi.assign = ( ".cgi" => "/usr/bin/perl" )
And uncomment the use of mod.cgi in /etc/lighttpd/lighttpd.conf.
FastCGI Support
Smokeping is slow, and fastcgi can help , especially on constrained devices.
install
apk add perl-fcgi
lighttpd.conf:
include "mod_fastcgi.conf"
mod_fastcgi.conf:
server.modules += ("mod_fastcgi") fastcgi.server = ( ".fcgi" => (( "bin-path" => "/usr/share/webapps/smokeping/smokeping.fcgi", "host" => "localhost", "port" => 8001, )), )
Setup URLs for Smokeping
Softlink /usr/share/webapps/smokeping -> /var/www/localhost/htdocs/smokeping
ln -s /usr/share/webapps/smokeping /var/www/localhost/htdocs/smokeping
Softlink /var/lib/smokeping/.simg -> /var/www/localhost/htdocs/img
ln -s /var/lib/smokeping/.simg /var/www/localhost/htdocs/img
Make /smokeping/ work lighttpd.conf:
index-file.names = ("smokeping.fcgi", "smokeping.cgi", "index.php", "index.html", "index.htm", "default.htm")
Setup Probes & Permissions
If using a version of Alpine older than 2.1_rc2, edit /usr/share/perl5/vendor_perl/Qooxdoo/Services/Tr.pm and on line 34: add "sudo", to beginning so that line looks like:
system "sudo","traceroute","-I","-q","1",$host;
This is because in Alpine, regular user can't run a traceroute
Add sudo package, then add the following to /etc/sudoers using visudo command:
lighttpd ALL=(ALL) NOPASSWD: /usr/bin/traceroute
Change permissions on /var/lib/smokeping/.simg to 777.
chmod 777 /var/lib/smokeping/.simg
Set fping to using setuid:
chmod u+s /usr/sbin/fping
Configure Targets
Add hosts to be monitored in /etc/smokeping/config and remove example hosts
The cache configured must be linked to /var/www/localhost/htdocs/smokeping/cache
Activate Smokeping Service at Boot
Set lighttpd to autostart and start the daemon.
rc-update add lighttpd && rc-service lighttpd start
Set smokeping to autostart and start the daemon.
rc-update add smokeping && rc-service smokeping start
For further information on configuration, see the smokeping homepage https://oss.oetiker.ch/smokeping/doc/index.en.html.