Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 prob-
     lems. 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 descrip-
     tion 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 se-
     cure. 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 fil-
     ter 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 "Gen-
     eral" 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 be-
     haviour 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 gener-
     ates 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 understand-
     able) error messages making the configuration less of the trial-and-error
     variety than it used to be. It also automates the generation of the config-
     uration documentation from the source code, so the docs are now more accu-
     rate.

     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 de-
     fined 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-spe-
	 cific 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 er-
	 ror message at parse time.

	 Note for distributors: these lines could easily be removed automati-
	 cally 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 ex-
	 planatory note if the verification fails.

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

     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 al-
	 lowed 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 sup-
	 ports all the variables FPing does.

     FPing6
	 This probe is also now derived from FPing and supports all the vari-
	 ables FPing does.

     CurlThe URL that will be used is now specified with the variable "urlfor-
	 mat" instead of "url". The new variable can (and usually should) in-
	 clude 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" vari-
	 able.)

	 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.

     LDAPThe "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 fea-
	 ture 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 se-
	 quentially 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 un-
     der 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 FIT-
     NESS 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.9.0				   2025-02-19		    SMOKEPING_UPGRADE(7)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=smokeping_upgrade&sektion=7&manpath=FreeBSD+Ports+15.1.quarterly>

home | help