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	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.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.0>

home | help