dwww Home | Manual pages | Find package

SMOKEPING_UPGRADE(7)               SmokePing               SMOKEPING_UPGRADE(7)

NAME
       smokeping_upgrade - Notes on upgrading Smokeping

OVERVIEW
       This document tries to list incompatible or otherwise user-visible
       changes in Smokeping versions, with instructions on how to fix any
       possible problems. It also sporadically mentions new features and the
       like.

       The document currently starts with changes from 1.34 to 1.37. If you run
       into problems with upgrading from earlier versions, please send a
       description of the problems, preferably with notes on how to fix them,
       to the "smokeping-users" mailing list, so they can be added to this
       document.  The same applies to any problems you find with current
       versions that are not documented here, of course. Patch submissions
       against the POD source of this file are most appreciated.

       If a version is not listed, there are no known problems in upgrading to
       it from the previous release.

       An official list of changes with each release can be found in the
       CHANGES file in the Smokeping distribution. This document tries to
       complement that with upgrading instructions etc.

2.4.2 to 2.4.3
       To fix zooming for FF3.5 I prototype and scriptaculous have been
       updated. To complete the fix you have to update your basepage.html too
       and include effects in the scriptaculous load line

        cropper/lib/scriptaculous.js?load=builder,effects,dragdrop

2.3.6 to 2.4.0
       The new SmokeTrace tool was added to SmokePing. For setup instructions
       read the smoketrace manual page.

2.3.3 to 2.3.4
       The communication protocol between master and slave has been made more
       secure. This requires that BOTH master and slave are upgraded to
       continue working.

2.2.x to 2.3.x
       2.3.0 is mainly about new features. Check out the reference
       documentation on hierarchies and the target properties parents, hidden
       and nomasterpoll.

       The only thing you have to take a look at, is the file
       basepage.html.dist which got some new css properties. Without them the
       results of the new filter function will look quite bad.

2.1.x to 2.2.0
   LWP Dependency
       The new master/slave functionality needs the LWP::UserAgent module from
       CPAN. Currently the dependency is not optional; you'll need the module
       even if you are only running one Smokeping instance.

2.0.9 to 2.1.0
   Echoping 6 support
       This is the first Smokeping version that fully supports echoping 6.
       Earlier versions of the EchoPingHttp probes don't work with echoping 6
       because of a command line incompatibility. (Echoping 5 is still
       supported, of course.)

       This version also introduces three new probes using the new echoping
       plugin interface introduced in version 6:

       •   EchoPingDNS

       •   EchoPingLDAP

       •   EchoPingWhois

       See  the  smokeping_examples document for simple examples of using these
       probes.

   New method in base.pm (if you write your own probes)
       The base.pm module defines the method ProbeUnit. Override this  if  your
       Probe does not return 'Seconds'. See the FTPtransfer.pm for inspiration.

2.0.8 to 2.0.9
   FPing
       The  'timeout'  variable  removed in 2.0.5 has been brought back.  It is
       used to give the "fping" command the "-t"  parameter,  which  apparently
       affects the timeout of the last ping in the counting ("-C") mode used by
       Smokeping.

2.0.5 to 2.0.6
   CGI self-referring links (again)
       The  way  Smokeping  creates  the  self-referring links was changed once
       more.  See the section under '2.0.4 to 2.0.5' for a description  of  the
       previous change.

       The  behaviour  is  now customizable via the "linkstyle" variable in the
       "General"  section  of  the  configuration  file.  The  default  is  now
       "relative",  creating  links like <a href="?foo=bar">. I hope this works
       for  everybody,  but  if  it  doesn't,  see  smokeping_config  for   the
       alternatives.

2.0.4 to 2.0.5
   FPing
       The  'timeout'  variable  has  been  removed.   It  was used to give the
       "fping" command the "-t"  parameter,  but  as  this  parameter  is  only
       effective  in  "fping"'s default mode, while Smokeping uses the counting
       mode ("-c"), it never actually did anything.

   CGI self-referring links
       The way Smokeping creates the self-referring links was changed. The  old
       behaviour used the script name but not the host part, resulting in links
       like  <a href="/path/smokeping.cgi?foo=bar">. The new behaviour uses the
       "cgiurl"   variable:   the    links    are    always    absolute    like
       <a href="http://some.host/path/smokeping.cgi?foo=bar">.

2.0.1 to 2.0.2
   Edge-triggered alerts
       The  alert  notifications can now optionally be sent only when the state
       of the alert changes. This means that only the first match of the  alert
       generates  a  notification,  subsequent matches don't. When the alert is
       cleared, ie. there's no match anymore, another notification is sent.

       This behaviour is enabled by the "edgetrigger" variable in the  "Alerts"
       section. The old behaviour (which sends a notification on each match) is
       the default.

1.40 to 2.0
       The  biggest  change with the 2.0 release is that the configuration file
       is now parsed much more  strictly.  This  should  result  in  (hopefully
       understandable)  error  messages  making  the  configuration less of the
       trial-and-error variety than it  used  to  be.  It  also  automates  the
       generation  of  the configuration documentation from the source code, so
       the docs are now more accurate.

       A smaller change worth mentioning is the inclusion of the tSmoke  script
       (contributed  by  Dan  McGinn-Combs) for sending summary emails on daily
       and weekly system status. Note that it needs the new 'tmail' variable to
       be defined in the config file.

   CONFIGURATION
       The configuration syntax has stayed mostly  the  same,  except  for  the
       issues below.

       PROBE_CONF
           The  PROBE_CONF  subsections  have  been deprecated. All the target-
           specific variables are now configured in the  same  section  as  the
           target is. Just deleting the

           ++ PROBE_CONF

           lines should fix this (for any number of '+', obviously.)

           The  existence  of a PROBE_CONF section makes smokeping exit with an
           error message at parse time.

           Note  for  distributors:  these  lines  could  easily   be   removed
           automatically during upgrade.

       Variable order
           The  "probe"  variable  must  now  be  set before any variables that
           depend on the  selected  probe.  This  is  because  setting  "probe"
           modifies the grammar of the rest of the section dynamically at parse
           time.

           Additionally, "probe" must now precede "host", for reasons that have
           to   do  with  the  current  implementation  of  mandatory  variable
           checking.

           Both of these errors are recognized at parse time and produce  error
           messages accordingly.

           Note  for  distributors:  the  "smokeping"  command  now  has  a new
           '--check' option that can be  used  to  verify  the  syntax  of  the
           configuration  file.  It  might be a good idea to do this on upgrade
           and give the user an explanatory note if the verification fails.

       Target-specific variables in the Probes section
           This is not  an  incompatible  change,  but  it  is  mentioned  here
           nevertheless.  Target-specific variables can now be specified in the
           Probes section as well, and the values given become defaults for all
           the targets.

       Timeouts
           The "timeout" variable in the Probes section is now the maximum time
           expected  for  one  ping to take. Previously it was the maximum time
           allowed for all the pings to one target.  This  is  an  incompatible
           change,  but the code now works in the way it was documented to work
           even in 1.38.

           Those probes offering a target-specific "timeout" variable will  get
           a  default  for it from the Probes section, as noted in the previous
           item.  This should ensure that probes that enforce the ping  timeout
           themselves  (most do) will not get killed due to timeout before they
           have a chance to do it.

       Matchers
           The matcher modules have  been  renamed  to  start  with  a  capital
           letter,  to  differentiate the actual modules from the base classes.
           You have to capitalize the matcher name in  the  pattern  definition
           accordingly.

       Minimum number of pings
           The  "pings" variable now has an enforced minimum value of 3, as the
           whole design of Smokeping is based on the idea  of  sending  several
           probes and measuring and visualizing the variation between them.

       RRD parameter checking
           Smokeping  now checks at startup that the parameters of any existing
           RRD files match those specified in the configuration file. If  there
           is  a  discrepancy,  it  will try to fix the situation and refuse to
           start if it can't.

           This situation is most likely to happen if  you  have  modified  the
           "pings"  variable  in  your  configuration file. You'll then have to
           delete the old RRD file  or  somehow  convert  it  to  use  the  new
           parameters.  The "rrdtune" command might be helpful here.

       Configurable location for DYNAMIC-related files
           There  is  now  a  new configuration variable, "dyndir", that can be
           used to specify the location of the DYNAMIC-related files (.adr  and
           .snmp).   These files used to be kept under "datadir" along with the
           RRD files, but since they need to be writable by the web server,  it
           may be useful to separate these.

           If "dyndir" is not specified, Smokeping will use the "datadir" value
           as  the  default.  This  should  ensure that no existing setups will
           break.

       In addition to this, some probes have had minor incompatible changes  to
       their configuration.

       RemoteFPing
           The  "rbinary" variable is now mandatory. This is a side effect from
           a bigger change: the probe is now derived from the FPing  probe  and
           supports all the variables FPing does.

       FPing6
           This  probe  is  also  now  derived  from FPing and supports all the
           variables FPing does.

       Curl
           The URL that will  be  used  is  now  specified  with  the  variable
           "urlformat"  instead  of  "url".  The  new variable can (and usually
           should) include a placeholder for the "host" variable of each target
           as "%host%", eg. "urlformat = http://%host%/".  The new variable  is
           mandatory.

           The  change was made to fix the confusing situation where the "host"
           variable was required for each actual target, but it didn't actually
           have any effect (as the server to be  probed  came  from  the  "url"
           variable.)

           Timeouts  are  now  recognized  properly by looking at the curl exit
           code.  The default timeout of this  probe  has  been  raised  to  10
           seconds.

           The command line is now executed without an intervening /bin/sh, and
           so  quotes  are not needed anymore around the User-Agent string (the
           "agent" parameter).  Smokeping will complain if  it  notices  quotes
           around the string.

           Any  extra  arguments  for  "curl"  can  now  be  specified  in  the
           "extraargs" variable.

       EchoPingHttp
           The default timeout of this probe has been raised to 10 seconds.

       EchoPingHttps
           The default timeout of this probe has been raised to 10 seconds.

       EchoPingIcp
           The "url" variable is now mandatory, as the old default  "/"  didn't
           make sense because it's relative rather than absolute.

       LDAP
           The  "filter"  variable  is  now  mandatory,  as Net::LDAP bails out
           without it.

           The "sleeptime"  variable  was  changed  to  "mininterval"  and  its
           semantics  were  changed  accordingly  (it's  now  the  minimum time
           between two queries rather than the time slept between  the  end  of
           one and the start of the another.)

       Radius
           The  "sleeptime"  variable  was  changed  to  "mininterval"  and its
           semantics were changed accordingly. See the LDAP explanation above.

       AnotherDNS
           The "sleeptime"  variable  was  changed  to  "mininterval"  and  its
           semantics  were changed accordingly. See the LDAP explanation above.
           Additionally, the time is  now  specified  in  seconds  rather  than
           microseconds.

       AnotherSSH
           The  "sleeptime"  variable  was  changed  to  "mininterval"  and its
           semantics were changed accordingly. See the LDAP explanation  above.
           Additionally,  the  time  is  now  specified  in seconds rather than
           microseconds.

       TelnetIOSPing
           The name of this probe was changed: it now  starts  with  a  capital
           letter like all the others do.

           The  "target"  variable  was  removed.  The  target  should  now  be
           specified in the "host" variable, like it  is  with  all  the  other
           probes.

   CGI::Carp module version
       The  recommended version for CGI::Carp is now at least 1.24, included in
       CGI.pm-2.82 and the Perl standard distribution starting from 5.8.1.  See
       the smokeping_install document.

1.38 to 1.40
       The new navigation feature
           The big visible difference between 1.38 and 1.40 is the new  browser
           navigation  feature:  when clicking on the graphs in detail view you
           can select different time ranges for the graph. The creation of this
           feature has been sponsored by BeverlyCorp.com.

1.34 to 1.37
       The RemoteFPing probe
           The configuration of this probe was moved from the  Targets  section
           to  the  Probes  section,  as  all  the  variables are really probe-
           specific. The moved variables were "rhost", "rbinary" and "rhost".

       Logging changes
           The "smokeping" daemon now warns at startup if syslog support is not
           turned on in the  config  file.  This  is  because  many  diagnostic
           messages will otherwise get lost.

       Concurrent probes
           Each  probe now runs in its own process, instead of them all running
           sequentially in one process.  This  makes  it  possible  to  specify
           different  step  lengths  for  different probes. You can get the old
           behaviour back by setting 'concurrentprobes = no'.

COPYRIGHT
       Copyright 2005 by Niko Tyni.

LICENSE
       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
       MERCHANTABILITY  or  FITNESS  FOR  A  PARTICULAR  PURPOSE.   See the GNU
       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.

AUTHOR
       Niko Tyni <ntyni@iki.fi>

SEE ALSO
       The other Smokeping documents, especially smokeping_config.

2.8.2                              2024-02-04              SMOKEPING_UPGRADE(7)

Generated by dwww version 1.16 on Tue Dec 16 06:24:35 CET 2025.