Smokeping version 2.4.2 - How to Download and Install on Mac OS X
Friday the 3rd of September, 2010

    smokeping  most recent diff


    version 2.4.2

      View the most recent changes for the smokeping port at: smokeping.darwinports.com/diff
      Scroll down toward the bottom of the page to get installation instructions for smokeping.
      The raw portfile for smokeping 2.4.2 is located here:
      http://smokeping.darwinports.com/dports/net/smokeping/Portfile
      Find related portfiles with the unique DarwinPorts.com search feature.
      Check for any related Fink projects here: pdb.finkproject.org/pdb/package.php/smokeping


      The smokeping Portfile 55136 2009-08-07 01:50:59Z markd macports.org $

      PortSystem 1.0

      PortGroup perl5 1.0

      Name: smokeping
      Version: 2.4.2
      Revision: 3
      Category: net perl
      Maintainers: markd
      Description: A deluxe latency logging and graphing system.
      Long Description: SmokePing is a deluxe latency measurement tool. It can measure, store, and display latency, latency distribution, and packet loss. SmokePing uses RRDtool to maintain a longterm data-store and to draw pretty graphs, giving up to the minute information on the state of each network connection.

      Platform: darwin
      Homepage: http://oss.oetiker.ch/smokeping/
      Master Sites: http://oss.oetiker.ch/smokeping/pub/
      Checksums: md5 eb8e7679fcad35e59d7c51f2328250a2

      Patch Files: patch-bin-smokeping.dist patch-bin-tSmoke.dist patch-etc-config.dist patch-htdocs-smokeping.cgi.dist

      depends_lib-append path:bin/perl:perl5 port:rrdtool port:p5-libwww-perl port:p5-cgi-speedycgi port:p5-socket6 port:p5-net-snmp port:p5-net-telnet port:p5-net-dns port:p5-net-radius port:p5-perl-ldap port:p5-io-socket-ssl port:p5-pathtools port:p5-snmp_session port:fping port:echoping port:curl

      set smokeroot ${prefix}/lib/smokeping
      set smokedata ${prefix}/var/smokeping
      set smokeetc ${prefix}/etc/smokeping
      set smokedoc ${prefix}/share/doc/smokeping
      set apple_apache_docroot /Library/WebServer/Documents
      set macports_apache_docroot ${prefix}/apache2/htdocs

      startupitem.create yes
      startupitem.name smokeping
      startupitem.executable ${prefix}/bin/smokeping --nodaemon

      Variant: apple_apache description {Use Apple's built-in Apache } {
      # This variant doesn't do anything in the Smokeping port, but it triggers the
      # same variant name in p5-cgi-speedycgi, which is necessary for SpeedyCGI to
      # work with Apple's Apache.
      }

      use_configure no
      build {}

      post-patch {
      if { [variant_isset apple_apache] } {
      reinplace "s|__APACHE__DOCROOT__|${apple_apache_docroot}|g" ${worksrcpath}/etc/config.dist
      } else {
      reinplace "s|__APACHE__DOCROOT__|${macports_apache_docroot}|g" ${worksrcpath}/etc/config.dist
      }

      eval reinplace "s|__PREFIX__|${prefix}|g" [glob ${worksrcpath}/bin/*.dist] [glob ${worksrcpath}/etc/*.dist] [glob ${worksrcpath}/htdocs/*.dist]

      eval reinplace "s|__PERL5__ARCHLIB__|${perl5.archlib}|g" [glob ${worksrcpath}/bin/*.dist] [glob ${worksrcpath}/htdocs/*.dist]

      eval reinplace "s|/usr/bin/perl|${prefix}/bin/perl|g" [glob ${worksrcpath}/bin/*.dist] [glob ${worksrcpath}/etc/*.dist] [glob ${worksrcpath}/htdocs/*.dist]

      reinplace "s|/usr/bin/|${prefix}/bin/|g" ${worksrcpath}/lib/Smokeping.pm ${worksrcpath}/lib/Smokeping/Examples.pm ${worksrcpath}/lib/Smokeping/probes/Curl.pm ${worksrcpath}/lib/Smokeping/probes/RemoteFPing.pm ${worksrcpath}/lib/Smokeping/probes/SSH.pm ${worksrcpath}/lib/Smokeping/probes/FPing6.pm ${worksrcpath}/lib/Smokeping/probes/EchoPing.pm ${worksrcpath}/lib/Smokeping/probes/FPing.pm

      reinplace "s|/usr/share/smokeping/etc|${smokeetc}|g" ${worksrcpath}/lib/Smokeping/probes/passwordchecker.pm
      }

      destroot {
      # bin
      xinstall -m 755 -d ${destroot}${prefix}/bin
      xinstall -m 755 ${worksrcpath}/bin/smokeping.dist ${destroot}${prefix}/bin/smokeping
      xinstall -m 755 ${worksrcpath}/bin/tSmoke.dist ${destroot}${prefix}/bin/tSmoke

      # doc
      xinstall -m 755 -d ${destroot}${smokedoc}
      system "cp -R ${worksrcpath}/doc/ ${destroot}${smokedoc}"
      file copy ${worksrcpath}/README ${destroot}${smokedoc}
      file copy ${worksrcpath}/TODO ${destroot}${smokedoc}

      # etc
      # Leave the config.dist filename for users to remove so upgrades won't destroy the config file.
      xinstall -m 755 -d ${destroot}${smokeetc}
      eval xinstall -m 640 [glob ${worksrcpath}/etc/*.dist] ${destroot}${smokeetc}

      # lib
      system "cp -R ${worksrcpath}/lib/ ${destroot}${smokeroot}"

      # Smokeping data directory that needs to be symlinked to Apache docroot
      xinstall -m 755 -d ${destroot}${smokedata}

      # Smokeping log directory
      xinstall -m 755 -d ${destroot}${smokedata}/log

      # htdocs
      xinstall -m 755 ${worksrcpath}/htdocs/smokeping.cgi.dist ${destroot}${smokedata}/smokeping.cgi
      xinstall -m 755 -d ${destroot}${smokedata}/cropper
      system "cp -R ${worksrcpath}/htdocs/cropper/ ${destroot}${smokedata}/cropper"

      # Retain these empty directories
      destroot.keepdirs ${destroot}${smokedata}/log
      }

      post-activate {
      ui_msg "\n #### To complete the Smokeping installation ####

      1) Enable SpeedyCGI (installed as a dependency of Smokeping) for Apache.

      -For MacPorts Apache 2, add the line below to ${prefix}/apache2/conf/httpd.conf.

      LoadModule speedycgi_module modules/mod_speedycgi.so

      -For Apple's Apache 2, manually copy mod_speedycgi.so and smokeping.cgi
      into place ...

      sudo cp ${prefix}/share/doc/speedycgi/mod_speedycgi.so /usr/libexec/apache2
      sudo cp ${prefix}${smokedata}/smokeping.cgi /Library/WebServer/CGI-Executables

      ... and add the lines below to /etc/apache2/httpd.conf.

      LoadModule speedycgi_module libexec/apache2/mod_speedycgi.so


      2) Changes to httpd.conf for Smokeping.

      -Uncomment this line to enable the CGI script handler.

      AddHandler cgi-script .cgi

      -Add a directive for Smokeping's data directory and add
      smokeping.cgi to DirectoryIndex for a simple /smokeping url.

      Alias /smokeping \"${prefix}/var/smokeping\"

      Allow from all
      Options ExecCGI



      DirectoryIndex index.html smokeping.cgi



      3) Set Smokeping data directory permissions to the Apache user and group set
      in httpd.conf. The default Apache user and group for OS X is www.

      sudo chown -R : ${smokedata}/


      4) Setup Smokeping logging.

      -Add this statement to /etc/syslog.conf.

      local1.* ${smokedata}/log/smokeping.log

      -Create a logfile to receive the log messages.

      cd ${smokedata}/log
      sudo touch smokeping.log
      sudo chmod 600 smokeping.log
      sudo chown root:admin smokeping.log

      -Then restart the syslog facility.

      sudo kill -HUP `cat /var/run/syslog.pid`


      5) Rename and edit the ${smokeetc}/config sample files, then test your config file.

      -Remove the .dist extension from all files; do not change the filenames.

      cd ${smokeetc}
      sudo mv config.dist config

      -Set the DNS names for the Smokeping config file url's \"imageurl\" and \"cgiurl\".
      But you should leave all file paths alone -they are set by MacPorts.

      imgurl = http://myhost.mycompany.com/smokeping
      cgiurl = http://myhost.mycompany.com/smokeping/smokeping.cgi

      -Customize variables.

      * General * - owner, contact, and mailhost
      * Alerts * - to, from addresses

      -Then clear the examples \(they have a leading '+'\) in the *** Targets ***
      section and set your own.

      + My Web Server
      menu = MyWebServer
      title = My Web Server
      host = mywebserver.mydomain.com
      alerts = bigloss,someloss,startloss

      -See sample configurations and examples in ${prefix}/share/doc/smokeping/.

      -Perform a config file test from a terminal window and correct any errors that
      are reported.

      smokeping --check


      6) Start Smokeping and verify it is running. (Give it a minute to start)

      sudo launchctl load -w /Library/LaunchDaemons/org.macports.smokeping.plist
      ps -ax |grep smoke

      1713 Ss 0:00.16 ${prefix}/bin/smokeping \[FPing\]
      1753 Ss 0:00.18 ${prefix}/bin/speedy_backend -w ${prefix}/apache2/htdocs/smokeping/smokeping.cgi
      1754 S 0:01.56 ${prefix}/bin/speedy_backend -w ${prefix}/apache2/htdocs/smokeping/smokeping.cgi


      7) Check the Smokeping graphs with a web browser.

      Go to http://localhost/smokeping


      8) Add or remove targets from Smokeping.

      After adding or removing targets from ${smokeetc}/config, you must reload
      Smokeping from a terminal window.

      sudo smokeping --reload
      \n"
      }

    If you haven't already installed Darwin Ports, you can find easy instructions for doing so at the main Darwin Ports page.

    Once Darwin Ports has been installed, in a terminal window and while online, type the following and hit return:


      %  cd /opt/local/bin/portslocation/dports/smokeping
      % sudo port install smokeping
      Password:
    You will then be prompted for your root password, which you should enter. You may have to wait for a few minutes while the software is retrieved from the network and installed for you. Y ou should see something that looks similar to:

      ---> Fetching smokeping
      ---> Verifying checksum for smokeping
      ---> Extracting smokeping
      ---> Configuring smokeping
      ---> Building smokeping with target all
      ---> Staging smokeping into destroot
      ---> Installing smokeping
    - Make sure that you do not close the terminal window while Darwin Ports is working. Once the software has been installed, you can find further information about using smokeping with these commands:
      %  man smokeping
      % apropos smokeping
      % which smokeping
      % locate smokeping

     Where to find more information:

    Darwin Ports



    Lightbox this page.