Man Linux: Main Page and Category List


       smokeping_install - How to install SmokePing


       This document explains how to setup SmokePing at your site.


       SmokePing does not stand alone. It relies on various other tools and
       services being present. Apart from a Unix OS and a working Perl
       installation you need the following things. The list contains the names
       of the tools together with the version of the tool which I am using,
       and a link for downloading the tool.

       RRDtool 1.2.x

           Just follow the installation instructions. We need this package
           todo all the logging and graphing in SmokePing.


           The official site seems to be a bit unmaintained. You might want to
           grab the fping source from
           <> (at the bottom of
           the page).

           Note that fping must be installed setuid root. It seems that older
           versions of fping report round trip times in 0.1 milliseconds
           instead of 1 milliseconds as advertised ... SmokePing tries to
           figure this out. It tells you when it starts ... let me know it it
           gets it wrong.

       EchoPing  (Optional)

           You need this to run the EchoPing probes

       Curl (Optional)

           You need this for the Curl probe.

       dig (Optional)

           You need this for the DNS probe.

       SSH (Optional)

           You need this for the SSH probe.

       Various Perl modules (Most of these are optional)
           You can get these from <>.

               The master/slave functionality introduced a dependency
               LWP::UserAgent from the libwww-perl (also known as LWP)
               library. Currently the module is needed even if the
               master/slave mode is not enabled.

           Socket6 0.11-1
               Optionally installing the Socket6 module for perl enables
               smokeping to check hostnames that only resolve to an IPv6
               address. If you probe such hosts using ie. the FPing6 probe and
               get warnings that those hosts don’t resolve to an IP address,
               you need to install it.

               You need this for the TelnetIOSPing probe.

               You need this for the AnotherDNS probe.

               You need this for the LDAP probe.

               You need this if you want the LDAP probe to be able to use the
               ’starttls’ command.

               You need this for the Radius probe.


           Well I wont get much into this. The important thing is, to have a
           webserver which allows you to run CGI scripts. If you are using
           Apache I strongly recommend using the suexec system for running CGI
           scripts. Often it is sufficient to change the suexec binary to
           setuid root and restart Apache.  Using suexec allow to run cgi
           scripts under proper user accounts.

       Perl 5.8.8

           I guess you will get away with older versions of perl. I am using
           5.8.8 here and it works fine.


           SpeedyCGI speeds up CGIs written in perl dramatically by making
           them memory resident and handing new request to the script which is
           already running.  SmokePing has been optimized for use with
           SpeedyCGI. Note that you do NOT need mod_speedy, just the plain and
           simple speedy executable, this is the beauty of this tool it works
           without touching your apache ...  Otherwise you could as well be
           using FastCGI or mod_perl. There is a bug in speedy with returning
           error messages to the apache error log. You can find a patch in the
           smokeping download area.


           If you are using a version of Perl older than 5.8.1, you should
           consider installing a newer version of CGI::Carp (must be at least
           1.24, included in Otherwise any error messages
           generated by the CGI script will not show up quite as clean as they
           could in the web server error log.  If you can’t or don’t want to
           upgrade CGI::Carp, you can also set the "changecgiprogramname"
           variable in the "General" section to the value "no".

       Once the tools listed above are in place, you can start setting up
       SmokePing itself. Once the SmokePing tools are unpacked, they are more
       of less ready to use. At least to the extent, that it is not necessary
       to install them.  You may want to rename the directory to a name which
       does not contain the version number of SmokePing, or at least make a
       symlink, so that you can use a persistent name when referring to
       SmokePing files.

       In the distribution you find a number of files named *.dist they have
       to be edited and renamed to *. Below you find a short explanation for
       each of the files you have to edit:

           Make sure all the required libraries are available and the first
           line of the script points to your copy of perl. Adjust the use lib
           lines to point to your RRDtool installation and to the
           Smokeping/lib directory and edit the path of the config file to be
           in sync with reality.

           Edit the smokeping.cgi analog to the smokeping script above. Make
           sure the first line of the script is pointing to your freshly
           installed copy of Speedy CGI. Store the script in a directory of
           your weberver where CGIs get executed. You also have to edit the
           use lib line similar to what you did to smokeping.

           To make the interactive graph-zoomer work, you have to place the
           content of the cropper directory somewhere on your webserver and
           adapt the links in basepage.html (see below).

           Create your SmokePing configuration file. The easiest is to copy
           the etc/config file and work from there. Please refer to
           smokeping_config for details.

           Edit the html template to your likings. Please do not remove the
           link to the SmokePing counter and my name from the template. The
           content of the template will be renderd by the smokeping.cgi. This
           means that all embeded links must be relative to smokeping.cgi.

           If you are going to use the DYNAMIC IP support, customize the
           contents of this file.

       Now you are ready to start smokeping:


       Once the system works, you may want to put a SmokePing startup script
       into your /etc/init.d tree. Check out smokeping for further

       When you can now also open the smokeping.cgi webpage to look at your


       Copyright (c) 2001, 2005 by Tobias Oetiker. All right reserved.


       This program is free software; you can redistribute it and/or modify it
       under the terms of the GNU General Public License as published by the
       Free Software Foundation; either version 2 of the License, or (at your
       option) any later version.

       This program is distributed in the hope that it will be useful, but
       WITHOUT ANY WARRANTY; without even the implied warranty of
       General Public License for more details.

       You should have received a copy of the GNU General Public License along
       with this program; if not, write to the Free Software Foundation, Inc.,
       675 Mass Ave, Cambridge, MA 02139, USA.


       Tobias Oetiker <>