Provided by:
smokeping_2.0.5-2_all 
NAME
smokeping_config - Reference for the SmokePing Config File
OVERVIEW
SmokePing takes its configuration from a single central configuration
file. Its location must be hardcoded in the smokeping script and
smokeping.cgi.
The contents of this manual is generated directly from the
configuration file parser.
The Parser for the Configuration file is written using David Schweikers
Config::Grammar module. Read all about it in Config::Grammar.
The Configuration file has a tree-like structure with section headings
at various levels. It also contains variable assignments and tables.
Warning: this manual is rather long. See smokeping_examples for simple
configuration examples.
REFERENCE
GENERAL SYNTAX
The text below describes the general syntax of the SmokePing
configuration file. It was copied from the Config::Grammar
documentation.
’#’ denotes a comment up to the end-of-line, empty lines are allowed
and space at the beginning and end of lines is trimmed.
’\’ at the end of the line marks a continued line on the next line. A
single space will be inserted between the concatenated lines.
’@include filename’ is used to include another file.
’@define a some value’ will replace all occurences of ’a’ in the
following text with ’some value’.
Fields in tables that contain white space can be enclosed in either "’"
or """. Whitespace can also be escaped with "\". Quotes inside quotes
are allowed but must be escaped with a backslash as well.
SPECIFIC SYNTAX
The text below describes the specific syntax of the SmokePing
configuration file.
*** General *** (mandatory section)
General configuration values valid for the whole SmokePing setup.
The following variables can be set in this section:
owner (mandatory setting)
Name of the person responsible for this smokeping installation.
imgcache (mandatory setting)
A directory which is visible on your webserver where SmokePing can
cache graphs.
imgurl (mandatory setting)
Either an absolute URL to the imgcache directory or one relative to
the directory where you keep the SmokePing cgi.
datadir (mandatory setting)
The directory where SmokePing can keep its rrd files.
dyndir
The base directory where SmokePing keeps the files related to the
DYNAMIC function. This directory must be writeable by the WWW
server.
If this variable is not specified, the value of "datadir" will be
used instead.
pagedir
Directory to store static representations of pages.
piddir (mandatory setting)
The directory where SmokePing keeps its pid when daemonised.
sendmail
Path to your sendmail binary. It will be used for sending mails in
connection with the support of DYNAMIC addresses.
offset
If you run many instances of smokeping you may want to prevent them
from hitting your network all at the same time. Using the offset
parameter you can change the point in time when the probes are run.
Offset is specified in % of total interval, or alternatively as
’random’. I recommend to use ’random’. Note that this does NOT
influence the rrds itself, it is just a matter of when data
acqusition is initiated. The default offset is ’random’.
smokemail (mandatory setting)
Path to the mail template for DYNAMIC hosts. This mail template
must contain keywords of the form <##keyword##>. There is a sample
template included with SmokePing.
cgiurl (mandatory setting)
Complete URL path of the SmokePing.cgi
mailhost
Instead of using sendmail, you can specify the name of an smtp
server and use perl’s Net::SMTP module to send mail to DYNAMIC host
owners (see below).
contact (mandatory setting)
Mail address of the person responsible for this smokeping
installation.
netsnpp
syslogfacility
The syslog facility to use, eg. local0...local7. Note: syslog
logging is only used if you specify this.
syslogpriority
The syslog priority to use, eg. debug, notice or info. Default is
info.
concurrentprobes
If you use multiple probes or multiple instances of the same probe
and you want them to run concurrently in separate processes, set
this to ’yes’. This gives you the possibility to specify probe-
specific step and offset parameters (see the ’Probes’ section) for
each probe and makes the probes unable to block each other in cases
of service outages. The default is ’yes’, but if you for some
reason want the old behaviour you can set this to ’no’.
changeprocessnames
When using ’concurrentprobes’ (see above), this controls whether
the probe subprocesses should change their argv string to indicate
their probe in the process name. If set to ’yes’ (the default),
the probe name will be appended to the process name as ’[probe]’,
eg. ’/usr/bin/smokeping [FPing]’. If you don’t like this
behaviour, set this variable to ’no’. If ’concurrentprobes’ is not
set to ’yes’, this variable has no effect.
Default value: changeprocessnames = yes
tmail
Path to your tSmoke HTML mail template file. See the tSmoke
documentation for details.
changecgiprogramname
Usually the Smokeping CGI tries to log any possible errors with an
extended program name that includes the IP address of the remote
client for easier debugging. If this variable is set to ’no’, the
program name will not be modified. The only reason you would want
this is if you have a very old version of the CGI::Carp module. See
the installation document for details.
Default value: changecgiprogramname = yes
*** Database *** (mandatory section)
Describes the properties of the round robin database for storing the
SmokePing data. Note that it is not possible to edit existing RRDs by
changing the entries in the cfg file.
The following variables can be set in this section:
step (mandatory setting)
Duration of the base operation interval of SmokePing in seconds.
SmokePing will venture out every step seconds to ping your target
hosts. If ’concurrent_probes’ is set to ’yes’ (see above), this
variable can be overridden by each probe. Note that the step in the
RRD files is fixed when they are originally generated, and if you
change the step parameter afterwards, you’ll have to delete the old
RRD files or somehow convert them.
pings (mandatory setting)
How many pings should be sent to each target. Suggested: 20 pings.
Minimum value: 3 pings. This can be overridden by each probe. Some
probes (those derived from basefork.pm, ie. most except the FPing
variants) will even let this be overridden target-specifically.
Note that the number of pings in the RRD files is fixed when they
are originally generated, and if you change this parameter
afterwards, you’ll have to delete the old RRD files or somehow
convert them.
This section also contains a table describing the setup of the
SmokePing database. Below are reasonable defaults. Only change them if
you know rrdtool and its workings. Each row in the table describes one
RRA.
# cons xff steps rows
AVERAGE 0.5 1 1008
AVERAGE 0.5 12 4320
MIN 0.5 12 4320
MAX 0.5 12 4320
AVERAGE 0.5 144 720
MAX 0.5 144 720
MIN 0.5 144 720
column 0
Consolidation method.
column 1
What part of the consolidated intervals must be known to warrant a
known entry.
column 2
How many steps to consolidate into for each RRA entry.
column 3
How many rows this RRA should have.
*** Presentation *** (mandatory section)
Defines how the SmokePing data should be presented.
The following variables can be set in this section:
template (mandatory setting)
The webpage template must contain keywords of the form
<##keyword##>. There is a sample template included with SmokePing;
use it as the basis for your experiments. Default template contains
a pointer to the SmokePing counter and homepage. I would be glad if
you would not remove this as it gives me an indication as to how
widely used the tool is.
charset
By default, SmokePing assumes the ’iso-8859-15’ character set. If
you use something else, this is the place to speak up.
The following sections are valid on level 1:
+overview (mandatory section)
The Overview section defines how the Overview graphs should look.
The following variables can be set in this section:
width (mandatory setting)
Width of the Overview Graphs.
height (mandatory setting)
Height of the Overview Graphs.
range
How much time should be depicted in the Overview graph. Time
must be specified as a number followed by a letter which
specifies the unit of time. Known units are: seconds, minutes,
hours, ddays, weeks, years.
max_rtt
Any roundtrip time larger than this value will cropped in the
overview graph
median_color
By default the median line is drawn in red. Override it here
with a hex color in the format rrggbb.
strftime
Use posix strftime to format the timestamp in the left hand
lower corner of the overview graph
+detail (mandatory section)
The following variables can be set in this section:
width (mandatory setting)
How many pixels wide should detail graphs be
height (mandatory setting)
How many pixels high should detail graphs be
logarithmic
should the graphs be shown in a logarithmic scale (yes/no)
unison_tolerance
if a graph is more than this factor of the median ’max’ it
drops out of the unison scaling algorithm. A factor of two
would mean that any graph with a max either less than half or
more than twice the median ’max’ will be dropped from unison
scaling
max_rtt
Any roundtrip time larger than this value will cropped in the
detail graph
strftime
Use posix strftime to format the timestamp in the left hand
lower corner of the detail graph
nodata_color
Paint the graph background in a special color when there is no
data for this period because smokeping has not been running
(#rrggbb)
The detailed display can contain several graphs of different
resolution. In this table you can specify the resolution of each
graph.
Example:
"Last 3 Hours" 3h
"Last 30 Hours" 30h
"Last 10 Days" 10d
"Last 400 Days" 400d
column 0
Description of the particular resolution.
column 1
How much time should be depicted. The format is the same as for
the age parameter of the Overview section.
The following sections are valid on level 2:
++loss_colors
In the Detail view, the color of the median line depends the
amount of lost packets. SmokePing comes with a reasonable
default setting, but you may choose to disagree. The table
below lets you specify your own coloring.
Example:
Loss Color Legend
1 00ff00 "<1"
3 0000ff "<3"
100 ff0000 ">=3"
column 0
Activate when the lossrate (in percent) is larger of equal
to this number
column 1
Color for this range.
column 2
Description for this range.
++uptime_colors
When monitoring a host with DYNAMIC addressing, SmokePing will
keep track of how long the machine is able to keep the same IP
address. This time is plotted as a color in the graphs
background. SmokePing comes with a reasonable default setting,
but you may choose to disagree. The table below lets you
specify your own coloring
Example:
# Uptime Color Legend
3600 00ff00 "<1h"
86400 0000ff "<1d"
604800 ff0000 "<1w"
1000000000000 ffff00 ">1w"
Uptime is in days!
column 0
Activate when uptime in days is larger of equal to this
number
column 1
Color for this uptime range range.
column 2
Description for this range.
*** Probes *** (mandatory section)
The Probes Section configures Probe modules. Probe modules integrate an
external ping command into SmokePing. Check the documentation of each
module for more information about it.
The following sections are valid on level 1:
+/[-_0-9a-zA-Z]+/
Each module can take specific configuration information from this
area. The jumble of letters above is a regular expression defining
legal module names.
See the documentation of each module for details about its
variables.
The grammar of this section is dynamically modified based on its
name.
The following sections are valid on level 2:
++/[-_0-9a-zA-Z]+/
You can define multiple instances of the same probe with
subsections. These instances can have different values for
their variables, so you can eg. have one instance of the FPing
probe with packet size 1000 and step 300 and another instance
with packet size 64 and step 30. The name of the subsection
determines what the probe will be called, so you can write
descriptive names for the probes.
If there are any subsections defined, the main section for this
probe will just provide default parameter values for the probe
instances, ie. it will not become a probe instance itself.
The example above would be written like this:
*** Probes ***
+ FPing
# this value is common for the two subprobes
binary = /usr/bin/fping
++ FPingLarge
packetsize = 1000
step = 300
++ FPingSmall
packetsize = 64
step = 30
Dynamical grammar changes for example instances of this section:
AnotherDNS: (See the separate module documentation for details
about each variable.)
The following new variables are valid:
forks
Default value: forks = 5
offset
step
lookup
(This variable can be overridden target-specifically in the Targets section.)
mininterval
(This variable can be overridden target-specifically in the Targets section.)
Default value: mininterval = 0.5
pings
(This variable can be overridden target-specifically in the Targets section.)
port
(This variable can be overridden target-specifically in the Targets section.)
Default value: port = 53
recordtype
(This variable can be overridden target-specifically in the Targets section.)
Default value: recordtype = A
require_noerror
(This variable can be overridden target-specifically in the Targets section.)
timeout
(This variable can be overridden target-specifically in the Targets section.)
Default value: timeout = 5
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
lookup
This variable inherits its value from the parent
section if nothing is specified here.
mininterval
This variable inherits its value from the parent
section if nothing is specified here.
Default value: mininterval = 0.5
pings
This variable inherits its value from the parent
section if nothing is specified here.
port
This variable inherits its value from the parent
section if nothing is specified here.
Default value: port = 53
recordtype
This variable inherits its value from the parent
section if nothing is specified here.
Default value: recordtype = A
require_noerror
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
(End of dynamical grammar changes for example instance
"AnotherDNS".)
AnotherSSH: (See the separate module documentation for details
about each variable.)
The following new variables are valid:
forks
Default value: forks = 5
offset
step
greeting
(This variable can be overridden target-specifically in the Targets section.)
Default value: greeting = SSH-Latency-Measurement-Sorry-
for-this-logmessage
interval
(This variable can be overridden target-specifically in the Targets section.)
Default value: interval = established
mininterval
(This variable can be overridden target-specifically in the Targets section.)
Default value: mininterval = 0.5
pings
(This variable can be overridden target-specifically in the Targets section.)
port
(This variable can be overridden target-specifically in the Targets section.)
Default value: port = 22
timeout
(This variable can be overridden target-specifically in the Targets section.)
Default value: timeout = 5
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
greeting
This variable inherits its value from the parent
section if nothing is specified here.
Default value: greeting = SSH-Latency-Measurement-
Sorry-for-this-logmessage
interval
This variable inherits its value from the parent
section if nothing is specified here.
Default value: interval = established
mininterval
This variable inherits its value from the parent
section if nothing is specified here.
Default value: mininterval = 0.5
pings
This variable inherits its value from the parent
section if nothing is specified here.
port
This variable inherits its value from the parent
section if nothing is specified here.
Default value: port = 22
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
(End of dynamical grammar changes for example instance
"AnotherSSH".)
CiscoRTTMonDNS: (See the separate module documentation for details
about each variable.)
The following new variables are valid:
forks
Default value: forks = 5
offset
step
timeout
Default value: timeout = 5
ioshost
(This variable can be overridden target-specifically in the Targets section.)
This variable dynamically modifies the grammar based on its
value.
iosint
(This variable can be overridden target-specifically in the Targets section.)
name
(This variable can be overridden target-specifically in the Targets section.)
This variable dynamically modifies the grammar based on its
value.
pings
(This variable can be overridden target-specifically in the Targets section.)
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
ioshost
This variable inherits its value from the parent
section if nothing is specified here.
iosint
This variable inherits its value from the parent
section if nothing is specified here.
name
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"CiscoRTTMonDNS".)
CiscoRTTMonEchoICMP: (See the separate module documentation for
details about each variable.)
The following new variables are valid:
forks
Default value: forks = 5
offset
step
timeout
Default value: timeout = 5
ioshost
(This variable can be overridden target-specifically in the Targets section.)
This variable dynamically modifies the grammar based on its
value.
iosint
(This variable can be overridden target-specifically in the Targets section.)
packetsize
(This variable can be overridden target-specifically in the Targets section.)
Default value: packetsize = 56
pings
(This variable can be overridden target-specifically in the Targets section.)
tos
(This variable can be overridden target-specifically in the Targets section.)
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
ioshost
This variable inherits its value from the parent
section if nothing is specified here.
iosint
This variable inherits its value from the parent
section if nothing is specified here.
packetsize
This variable inherits its value from the parent
section if nothing is specified here.
Default value: packetsize = 56
pings
This variable inherits its value from the parent
section if nothing is specified here.
tos This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"CiscoRTTMonEchoICMP".)
CiscoRTTMonTcpConnect: (See the separate module documentation for
details about each variable.)
The following new variables are valid:
forks
Default value: forks = 5
offset
step
timeout
Default value: timeout = 5
ioshost
(This variable can be overridden target-specifically in the Targets section.)
This variable dynamically modifies the grammar based on its
value.
iosint
(This variable can be overridden target-specifically in the Targets section.)
pings
(This variable can be overridden target-specifically in the Targets section.)
port
(This variable can be overridden target-specifically in the Targets section.)
Default value: port = 80
tos
(This variable can be overridden target-specifically in the Targets section.)
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
ioshost
This variable inherits its value from the parent
section if nothing is specified here.
iosint
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
port
This variable inherits its value from the parent
section if nothing is specified here.
Default value: port = 80
tos This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"CiscoRTTMonTcpConnect".)
Curl: (See the separate module documentation for details about each
variable.)
The following new variables are valid:
binary
Default value: binary = /usr/bin/curl
forks
Default value: forks = 5
offset
step
agent
(This variable can be overridden target-specifically in the Targets section.)
extraargs
(This variable can be overridden target-specifically in the Targets section.)
extrare
(This variable can be overridden target-specifically in the Targets section.)
Default value: extrare = / /
insecure_ssl
(This variable can be overridden target-specifically in the Targets section.)
interface
(This variable can be overridden target-specifically in the Targets section.)
pings
(This variable can be overridden target-specifically in the Targets section.)
ssl2
(This variable can be overridden target-specifically in the Targets section.)
timeout
(This variable can be overridden target-specifically in the Targets section.)
Default value: timeout = 10
urlformat
(This variable can be overridden target-specifically in the Targets section.)
This variable dynamically modifies the grammar based on its
value.
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
binary
This variable inherits its value from the parent
section if nothing is specified here.
Default value: binary = /usr/bin/curl
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
agent
This variable inherits its value from the parent
section if nothing is specified here.
extraargs
This variable inherits its value from the parent
section if nothing is specified here.
extrare
This variable inherits its value from the parent
section if nothing is specified here.
Default value: extrare = / /
insecure_ssl
This variable inherits its value from the parent
section if nothing is specified here.
interface
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
ssl2
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 10
urlformat
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance "Curl".)
DNS: (See the separate module documentation for details about each
variable.)
The following new variables are valid:
binary (mandatory setting)
forks
Default value: forks = 5
offset
step
timeout
Default value: timeout = 5
lookup
(This variable can be overridden target-specifically in the Targets section.)
pings
(This variable can be overridden target-specifically in the Targets section.)
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
binary (mandatory setting)
This variable inherits its value from the parent
section if nothing is specified here.
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
lookup
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance "DNS".)
EchoPing: (See the separate module documentation for details about
each variable.)
The following new variables are valid:
binary
Default value: binary = /usr/bin/echoping
forks
Default value: forks = 5
offset
step
extraopts
(This variable can be overridden target-specifically in the Targets section.)
fill
(This variable can be overridden target-specifically in the Targets section.)
ipversion
(This variable can be overridden target-specifically in the Targets section.)
pings
(This variable can be overridden target-specifically in the Targets section.)
priority
(This variable can be overridden target-specifically in the Targets section.)
size
(This variable can be overridden target-specifically in the Targets section.)
timeout
(This variable can be overridden target-specifically in the Targets section.)
Default value: timeout = 5
tos
(This variable can be overridden target-specifically in the Targets section.)
udp
(This variable can be overridden target-specifically in the Targets section.)
waittime
(This variable can be overridden target-specifically in the Targets section.)
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
binary
This variable inherits its value from the parent
section if nothing is specified here.
Default value: binary = /usr/bin/echoping
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
extraopts
This variable inherits its value from the parent
section if nothing is specified here.
fill
This variable inherits its value from the parent
section if nothing is specified here.
ipversion
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
priority
This variable inherits its value from the parent
section if nothing is specified here.
size
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
tos This variable inherits its value from the parent
section if nothing is specified here.
udp This variable inherits its value from the parent
section if nothing is specified here.
waittime
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"EchoPing".)
EchoPingChargen: (See the separate module documentation for details
about each variable.)
The following new variables are valid:
binary
Default value: binary = /usr/bin/echoping
forks
Default value: forks = 5
offset
step
extraopts
(This variable can be overridden target-specifically in the Targets section.)
fill
(This variable can be overridden target-specifically in the Targets section.)
ipversion
(This variable can be overridden target-specifically in the Targets section.)
pings
(This variable can be overridden target-specifically in the Targets section.)
priority
(This variable can be overridden target-specifically in the Targets section.)
size
(This variable can be overridden target-specifically in the Targets section.)
timeout
(This variable can be overridden target-specifically in the Targets section.)
Default value: timeout = 5
tos
(This variable can be overridden target-specifically in the Targets section.)
waittime
(This variable can be overridden target-specifically in the Targets section.)
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
binary
This variable inherits its value from the parent
section if nothing is specified here.
Default value: binary = /usr/bin/echoping
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
extraopts
This variable inherits its value from the parent
section if nothing is specified here.
fill
This variable inherits its value from the parent
section if nothing is specified here.
ipversion
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
priority
This variable inherits its value from the parent
section if nothing is specified here.
size
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
tos This variable inherits its value from the parent
section if nothing is specified here.
waittime
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"EchoPingChargen".)
EchoPingDiscard: (See the separate module documentation for details
about each variable.)
The following new variables are valid:
binary
Default value: binary = /usr/bin/echoping
forks
Default value: forks = 5
offset
step
extraopts
(This variable can be overridden target-specifically in the Targets section.)
fill
(This variable can be overridden target-specifically in the Targets section.)
ipversion
(This variable can be overridden target-specifically in the Targets section.)
pings
(This variable can be overridden target-specifically in the Targets section.)
priority
(This variable can be overridden target-specifically in the Targets section.)
size
(This variable can be overridden target-specifically in the Targets section.)
timeout
(This variable can be overridden target-specifically in the Targets section.)
Default value: timeout = 5
tos
(This variable can be overridden target-specifically in the Targets section.)
udp
(This variable can be overridden target-specifically in the Targets section.)
waittime
(This variable can be overridden target-specifically in the Targets section.)
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
binary
This variable inherits its value from the parent
section if nothing is specified here.
Default value: binary = /usr/bin/echoping
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
extraopts
This variable inherits its value from the parent
section if nothing is specified here.
fill
This variable inherits its value from the parent
section if nothing is specified here.
ipversion
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
priority
This variable inherits its value from the parent
section if nothing is specified here.
size
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
tos This variable inherits its value from the parent
section if nothing is specified here.
udp This variable inherits its value from the parent
section if nothing is specified here.
waittime
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"EchoPingDiscard".)
EchoPingHttp: (See the separate module documentation for details
about each variable.)
The following new variables are valid:
binary
Default value: binary = /usr/bin/echoping
forks
Default value: forks = 5
offset
step
extraopts
(This variable can be overridden target-specifically in the Targets section.)
ignore_cache
(This variable can be overridden target-specifically in the Targets section.)
ipversion
(This variable can be overridden target-specifically in the Targets section.)
pings
(This variable can be overridden target-specifically in the Targets section.)
port
(This variable can be overridden target-specifically in the Targets section.)
priority
(This variable can be overridden target-specifically in the Targets section.)
revalidate_data
(This variable can be overridden target-specifically in the Targets section.)
timeout
(This variable can be overridden target-specifically in the Targets section.)
Default value: timeout = 5
tos
(This variable can be overridden target-specifically in the Targets section.)
url
(This variable can be overridden target-specifically in the Targets section.)
Default value: url = /
waittime
(This variable can be overridden target-specifically in the Targets section.)
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
binary
This variable inherits its value from the parent
section if nothing is specified here.
Default value: binary = /usr/bin/echoping
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
extraopts
This variable inherits its value from the parent
section if nothing is specified here.
ignore_cache
This variable inherits its value from the parent
section if nothing is specified here.
ipversion
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
port
This variable inherits its value from the parent
section if nothing is specified here.
priority
This variable inherits its value from the parent
section if nothing is specified here.
revalidate_data
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
tos This variable inherits its value from the parent
section if nothing is specified here.
url This variable inherits its value from the parent
section if nothing is specified here.
Default value: url = /
waittime
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"EchoPingHttp".)
EchoPingHttps: (See the separate module documentation for details
about each variable.)
The following new variables are valid:
binary
Default value: binary = /usr/bin/echoping
forks
Default value: forks = 5
offset
step
extraopts
(This variable can be overridden target-specifically in the Targets section.)
ignore_cache
(This variable can be overridden target-specifically in the Targets section.)
ipversion
(This variable can be overridden target-specifically in the Targets section.)
pings
(This variable can be overridden target-specifically in the Targets section.)
port
(This variable can be overridden target-specifically in the Targets section.)
priority
(This variable can be overridden target-specifically in the Targets section.)
revalidate_data
(This variable can be overridden target-specifically in the Targets section.)
timeout
(This variable can be overridden target-specifically in the Targets section.)
Default value: timeout = 5
tos
(This variable can be overridden target-specifically in the Targets section.)
url
(This variable can be overridden target-specifically in the Targets section.)
Default value: url = /
waittime
(This variable can be overridden target-specifically in the Targets section.)
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
binary
This variable inherits its value from the parent
section if nothing is specified here.
Default value: binary = /usr/bin/echoping
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
extraopts
This variable inherits its value from the parent
section if nothing is specified here.
ignore_cache
This variable inherits its value from the parent
section if nothing is specified here.
ipversion
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
port
This variable inherits its value from the parent
section if nothing is specified here.
priority
This variable inherits its value from the parent
section if nothing is specified here.
revalidate_data
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
tos This variable inherits its value from the parent
section if nothing is specified here.
url This variable inherits its value from the parent
section if nothing is specified here.
Default value: url = /
waittime
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"EchoPingHttps".)
EchoPingIcp: (See the separate module documentation for details
about each variable.)
The following new variables are valid:
binary
Default value: binary = /usr/bin/echoping
forks
Default value: forks = 5
offset
step
extraopts
(This variable can be overridden target-specifically in the Targets section.)
ipversion
(This variable can be overridden target-specifically in the Targets section.)
pings
(This variable can be overridden target-specifically in the Targets section.)
priority
(This variable can be overridden target-specifically in the Targets section.)
timeout
(This variable can be overridden target-specifically in the Targets section.)
Default value: timeout = 5
tos
(This variable can be overridden target-specifically in the Targets section.)
url
(This variable can be overridden target-specifically in the Targets section.)
This variable dynamically modifies the grammar based on its
value.
waittime
(This variable can be overridden target-specifically in the Targets section.)
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
binary
This variable inherits its value from the parent
section if nothing is specified here.
Default value: binary = /usr/bin/echoping
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
extraopts
This variable inherits its value from the parent
section if nothing is specified here.
ipversion
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
priority
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
tos This variable inherits its value from the parent
section if nothing is specified here.
url This variable inherits its value from the parent
section if nothing is specified here.
waittime
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"EchoPingIcp".)
EchoPingSmtp: (See the separate module documentation for details
about each variable.)
The following new variables are valid:
binary
Default value: binary = /usr/bin/echoping
forks
Default value: forks = 5
offset
step
extraopts
(This variable can be overridden target-specifically in the Targets section.)
ipversion
(This variable can be overridden target-specifically in the Targets section.)
pings
(This variable can be overridden target-specifically in the Targets section.)
priority
(This variable can be overridden target-specifically in the Targets section.)
timeout
(This variable can be overridden target-specifically in the Targets section.)
Default value: timeout = 5
tos
(This variable can be overridden target-specifically in the Targets section.)
waittime
(This variable can be overridden target-specifically in the Targets section.)
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
binary
This variable inherits its value from the parent
section if nothing is specified here.
Default value: binary = /usr/bin/echoping
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
extraopts
This variable inherits its value from the parent
section if nothing is specified here.
ipversion
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
priority
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
tos This variable inherits its value from the parent
section if nothing is specified here.
waittime
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"EchoPingSmtp".)
FPing: (See the separate module documentation for details about
each variable.)
The following new variables are valid:
binary (mandatory setting)
hostinterval
mininterval
Default value: mininterval = 0.01
offset
packetsize
pings
step
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
binary (mandatory setting)
This variable inherits its value from the parent
section if nothing is specified here.
hostinterval
This variable inherits its value from the parent
section if nothing is specified here.
mininterval
This variable inherits its value from the parent
section if nothing is specified here.
Default value: mininterval = 0.01
offset
This variable inherits its value from the parent
section if nothing is specified here.
packetsize
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"FPing".)
FPing6: (See the separate module documentation for details about
each variable.)
The following new variables are valid:
binary (mandatory setting)
hostinterval
mininterval
Default value: mininterval = 0.01
offset
packetsize
pings
step
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
binary (mandatory setting)
This variable inherits its value from the parent
section if nothing is specified here.
hostinterval
This variable inherits its value from the parent
section if nothing is specified here.
mininterval
This variable inherits its value from the parent
section if nothing is specified here.
Default value: mininterval = 0.01
offset
This variable inherits its value from the parent
section if nothing is specified here.
packetsize
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"FPing6".)
IOSPing: (See the separate module documentation for details about
each variable.)
The following new variables are valid:
binary (mandatory setting)
forks
Default value: forks = 5
offset
packetsize
Default value: packetsize = 56
step
timeout
Default value: timeout = 5
ioshost
(This variable can be overridden target-specifically in the Targets section.)
This variable dynamically modifies the grammar based on its
value.
iosint
(This variable can be overridden target-specifically in the Targets section.)
iosuser
(This variable can be overridden target-specifically in the Targets section.)
pings
(This variable can be overridden target-specifically in the Targets section.)
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
binary (mandatory setting)
This variable inherits its value from the parent
section if nothing is specified here.
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
packetsize
This variable inherits its value from the parent
section if nothing is specified here.
Default value: packetsize = 56
step
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
ioshost
This variable inherits its value from the parent
section if nothing is specified here.
iosint
This variable inherits its value from the parent
section if nothing is specified here.
iosuser
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"IOSPing".)
LDAP: (See the separate module documentation for details about each
variable.)
The following new variables are valid:
forks
Default value: forks = 5
offset
passwordfile
step
attrs
(This variable can be overridden target-specifically in the Targets section.)
base
(This variable can be overridden target-specifically in the Targets section.)
binddn
(This variable can be overridden target-specifically in the Targets section.)
filter
(This variable can be overridden target-specifically in the Targets section.)
This variable dynamically modifies the grammar based on its
value.
mininterval
(This variable can be overridden target-specifically in the Targets section.)
Default value: mininterval = 1
password
(This variable can be overridden target-specifically in the Targets section.)
pings
(This variable can be overridden target-specifically in the Targets section.)
port
(This variable can be overridden target-specifically in the Targets section.)
scope
(This variable can be overridden target-specifically in the Targets section.)
Default value: scope = sub
start_tls
(This variable can be overridden target-specifically in the Targets section.)
timeout
(This variable can be overridden target-specifically in the Targets section.)
Default value: timeout = 5
version
(This variable can be overridden target-specifically in the Targets section.)
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
passwordfile
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
attrs
This variable inherits its value from the parent
section if nothing is specified here.
base
This variable inherits its value from the parent
section if nothing is specified here.
binddn
This variable inherits its value from the parent
section if nothing is specified here.
filter
This variable inherits its value from the parent
section if nothing is specified here.
mininterval
This variable inherits its value from the parent
section if nothing is specified here.
Default value: mininterval = 1
password
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
port
This variable inherits its value from the parent
section if nothing is specified here.
scope
This variable inherits its value from the parent
section if nothing is specified here.
Default value: scope = sub
start_tls
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
version
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance "LDAP".)
Radius: (See the separate module documentation for details about
each variable.)
The following new variables are valid:
forks
Default value: forks = 5
offset
passwordfile
secretfile
step
mininterval
(This variable can be overridden target-specifically in the Targets section.)
Default value: mininterval = 1
nas_ip_address
(This variable can be overridden target-specifically in the Targets section.)
password
(This variable can be overridden target-specifically in the Targets section.)
pings
(This variable can be overridden target-specifically in the Targets section.)
port
(This variable can be overridden target-specifically in the Targets section.)
secret
(This variable can be overridden target-specifically in the Targets section.)
timeout
(This variable can be overridden target-specifically in the Targets section.)
Default value: timeout = 5
username
(This variable can be overridden target-specifically in the Targets section.)
This variable dynamically modifies the grammar based on its
value.
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
passwordfile
This variable inherits its value from the parent
section if nothing is specified here.
secretfile
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
mininterval
This variable inherits its value from the parent
section if nothing is specified here.
Default value: mininterval = 1
nas_ip_address
This variable inherits its value from the parent
section if nothing is specified here.
password
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
port
This variable inherits its value from the parent
section if nothing is specified here.
secret
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
username
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"Radius".)
RemoteFPing: (See the separate module documentation for details
about each variable.)
The following new variables are valid:
binary (mandatory setting)
hostinterval
mininterval
Default value: mininterval = 0.01
offset
packetsize
pings
rbinary (mandatory setting)
rhost (mandatory setting)
ruser
step
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
binary (mandatory setting)
This variable inherits its value from the parent
section if nothing is specified here.
hostinterval
This variable inherits its value from the parent
section if nothing is specified here.
mininterval
This variable inherits its value from the parent
section if nothing is specified here.
Default value: mininterval = 0.01
offset
This variable inherits its value from the parent
section if nothing is specified here.
packetsize
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
rbinary (mandatory setting)
This variable inherits its value from the parent
section if nothing is specified here.
rhost (mandatory setting)
This variable inherits its value from the parent
section if nothing is specified here.
ruser
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"RemoteFPing".)
SSH: (See the separate module documentation for details about each
variable.)
The following new variables are valid:
binary (mandatory setting)
forks
Default value: forks = 5
offset
step
timeout
Default value: timeout = 5
pings
(This variable can be overridden target-specifically in the Targets section.)
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
binary (mandatory setting)
This variable inherits its value from the parent
section if nothing is specified here.
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
step
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
pings
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance "SSH".)
TelnetIOSPing: (See the separate module documentation for details
about each variable.)
The following new variables are valid:
forks
Default value: forks = 5
offset
packetsize
Default value: packetsize = 56
step
timeout
Default value: timeout = 5
iospass
(This variable can be overridden target-specifically in the Targets section.)
This variable dynamically modifies the grammar based on its
value.
iosuser
(This variable can be overridden target-specifically in the Targets section.)
This variable dynamically modifies the grammar based on its
value.
pings
(This variable can be overridden target-specifically in the Targets section.)
psource
(This variable can be overridden target-specifically in the Targets section.)
source
(This variable can be overridden target-specifically in the Targets section.)
This variable dynamically modifies the grammar based on its
value.
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
forks
This variable inherits its value from the parent
section if nothing is specified here.
Default value: forks = 5
offset
This variable inherits its value from the parent
section if nothing is specified here.
packetsize
This variable inherits its value from the parent
section if nothing is specified here.
Default value: packetsize = 56
step
This variable inherits its value from the parent
section if nothing is specified here.
timeout
This variable inherits its value from the parent
section if nothing is specified here.
Default value: timeout = 5
iospass
This variable inherits its value from the parent
section if nothing is specified here.
iosuser
This variable inherits its value from the parent
section if nothing is specified here.
pings
This variable inherits its value from the parent
section if nothing is specified here.
psource
This variable inherits its value from the parent
section if nothing is specified here.
source
This variable inherits its value from the parent
section if nothing is specified here.
(End of dynamical grammar changes for example instance
"TelnetIOSPing".)
(End of dynamical grammar changes for example instances of section
"/[-_0-9a-zA-Z]+/".)
*** Alerts ***
The Alert section lets you setup loss and RTT pattern detectors. After
each round of polling, SmokePing will examine its data and determine
which detectors match. Detectors are enabled per target and get
inherited by the targets children.
Detectors are not just simple thresholds which go off at first sight of
a problem. They are configurable to detect special loss or RTT
patterns. They let you look at a number of past readings to make a more
educated decision on what kind of alert should be sent, or if an alert
should be sent at all.
The patterns are numbers prefixed with an operator indicating the type
of comparison required for a match.
The following RTT pattern detects if a target’s RTT goes from
constantly below 10ms to constantly 100ms and more:
old ------------------------------> new
<10,<10,<10,<10,<10,>10,>100,>100,>100
Loss patterns work in a similar way, except that the loss is defined as
the percentage the total number of received packets is of the total
number of packets sent.
old ------------------------------> new
==0%,==0%,==0%,==0%,>20%,>20%,>=20%
Apart from normal numbers, patterns can also contain the values * which
is true for all values regardless of the operator. And U which is true
for unknown data together with the == and =! operators.
Detectors normally act on state changes. This has the disadvantage,
that they will fail to find conditions which were already present when
launching smokeping. For this it is possible to write detectors that
begin with the special value ==S it is inserted whenever smokeping is
started up.
You can write
==S,>20%,>20%
to detect lines that have been losing more than 20% of the packets for
two periods after startup.
Sometimes it may be that conditions occur at irregular intervals. But
still you only want to throw an alert if they occur several times
within a certain amount of times. The operator *X* will ignore up to X
values and still let the pattern match:
>10%,*10*,>10%
will fire if more than 10% of the packets have been lost at least twice
over the last 10 samples.
A complete example
*** Alerts ***
to = admin@company.xy,peter@home.xy
from = smokealert@company.xy
+lossdetect
type = loss
# in percent
pattern = ==0%,==0%,==0%,==0%,>20%,>20%,>20%
comment = suddenly there is packet loss
+miniloss
type = loss
# in percent
pattern = >0%,*12*,>0%,*12*,>0%
comment = detected loss 3 times over the last two hours
+rttdetect
type = rtt
# in milliseconds
pattern = <10,<10,<10,<10,<10,<100,>100,>100,>100
comment = routing messed up again ?
+rttbadstart
type = rtt
# in milliseconds
pattern = ==S,==U
comment = offline at startup
The following variables can be set in this section:
to (mandatory setting)
Either an email address to send alerts to, or the name of a program
to execute when an alert matches. To call a program, the first
character of the to value must be a pipe symbol "│". The program
will the be called whenever an alert matches, using the following 5
arguments (except if edgetrigger is ’yes’; see below): name-of-
alert, target, loss-pattern, rtt-pattern, hostname. You can also
provide a comma separated list of addresses and programs.
from (mandatory setting)
who should alerts appear to be coming from ?
edgetrigger
The alert notifications and/or the programs executed are normally
triggered every time the alert matches. If this variable is set to
’yes’, they will be triggered only when the alert’s state is
changed, ie. when it’s raised and when it’s cleared. Subsequent
matches of the same alert will thus not trigger a notification.
When this variable is set to ’yes’, a notification program (see the
to variable documentation above) will get a sixth argument, raise,
which has the value 1 if the alert was just raised and 0 if it was
cleared.
Default value: edgetrigger = no
The following sections are valid on level 1:
+/[^\s,]+/
The following variables can be set in this section:
type (mandatory setting)
Currently the pattern types rtt and loss and matcher are known.
Matchers are plugin modules that extend the alert conditions.
Known matchers are Avgratio, Median.
See the documentation of the corresponding matcher module (eg.
Smokeping::matchers::Avgratio) for instructions on configuring
it.
pattern (mandatory setting)
a comma separated list of comparison operators and numbers. rtt
patterns are in milliseconds, loss patterns are in percents
comment (mandatory setting)
to Similar to the "to" parameter on the top-level except that it
will only be used IN ADDITION to the value of the toplevel
parameter. Same rules apply.
edgetrigger
This variable inherits its value from the parent section if
nothing is specified here.
Default value: edgetrigger = no
*** Targets *** (mandatory section)
The Target Section defines the actual work of SmokePing. It contains a
hierarchical list of hosts which mark the endpoints of the network
connections the system should monitor. Each section can contain one
host as well as other sections.
The following variables can be set in this section:
probe (mandatory setting)
The name of the probe module to be used for this host. The value of
this variable gets propagated
This variable dynamically modifies the grammar based on its value.
menu (mandatory setting)
Menu entry for this section. If not set this will be set to the
hostname.
title (mandatory setting)
Title of the page when it is displayed. This will be set to the
hostname if left empty.
remark
An optional remark on the current section. It gets displayed on the
webpage.
alerts
A comma separated list of alerts to check for this target. The
alerts have to be setup in the Alerts section. Alerts are inherited
by child nodes. Use an empty alerts definition to remove inherited
alerts from the current target and its children.
The following sections are valid on level 1:
+/[-_0-9a-zA-Z]+/
Each target section can contain information about a host to monitor
as well as further target sections. Most variables have already
been described above. The expression above defines legal names for
target sections.
This section is recursive: it can contain subsection(s) with the
same syntax.
The following variables can be set in this section:
probe
This variable inherits its value from the parent section if
nothing is specified here.
This variable dynamically modifies the grammar based on its
value.
menu
title
alerts
Comma separated list of alert names
This variable inherits its value from the parent section if
nothing is specified here.
note
Some information about this entry which does NOT get displayed
on the web.
email
This is the contact address for the owner of the current host.
In connection with the DYNAMIC hosts, the address will be used
for sending the belowmentioned script.
host
Can either contain the name of a target host or the string
DYNAMIC.
In the second case, the target machine has a dynamic IP address
and thus is required to regularly contact the SmokePing server
to verify its IP address. When starting SmokePing with the
commandline argument --email it will add a secret password to
each of the DYNAMIC host lines and send a script to the owner
of each host. This script must be started regularly on the host
in question to make sure SmokePing monitors the right box. If
the target machine supports SNMP SmokePing will also query the
hosts sysContact, sysName and sysLocation properties to make
sure it is still the same host.
remark
rawlog
Log the raw data, gathered for this target, in tab separated
format, to a file with the same basename as the corresponding
RRD file. Use posix strftime to format the timestamp to be put
into the file name. The filename is built like this:
basename.strftime.csv
Example:
rawlog=%Y-%m-%d
this would create a new logfile every day with a name like
this:
targethost.2004-05-03.csv
alertee
If you want to have alerts for this target and all targets
below it go to a particular address on top of the address
already specified in the alert, you can add it here. This can
be a comma separated list of items.
This variable inherits its value from the parent section if
nothing is specified here.
The following sections are valid on level 2:
++/[-_0-9a-zA-Z]+/
This section is recursive: it can contain subsection(s) with
the same syntax.
Dynamical grammar changes for example values of variable "probe":
AnotherDNS: (See the separate module documentation for details about
each variable.)
The following new variables are valid:
lookup
mininterval
pings
port
recordtype
require_noerror
timeout
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
lookup
This variable inherits its value from the parent section if
nothing is specified here.
mininterval
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
port
This variable inherits its value from the parent section if
nothing is specified here.
recordtype
This variable inherits its value from the parent section if
nothing is specified here.
require_noerror
This variable inherits its value from the parent section if
nothing is specified here.
timeout
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "AnotherDNS".)
AnotherSSH: (See the separate module documentation for details about
each variable.)
The following new variables are valid:
greeting
interval
mininterval
pings
port
timeout
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
greeting
This variable inherits its value from the parent section if
nothing is specified here.
interval
This variable inherits its value from the parent section if
nothing is specified here.
mininterval
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
port
This variable inherits its value from the parent section if
nothing is specified here.
timeout
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "AnotherSSH".)
CiscoRTTMonDNS: (See the separate module documentation for details
about each variable.)
The following new variables are valid:
ioshost
iosint
name
pings
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
ioshost
This variable inherits its value from the parent section if
nothing is specified here.
iosint
This variable inherits its value from the parent section if
nothing is specified here.
name
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "CiscoRTTMonDNS".)
CiscoRTTMonEchoICMP: (See the separate module documentation for details
about each variable.)
The following new variables are valid:
ioshost
iosint
packetsize
pings
tos
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
ioshost
This variable inherits its value from the parent section if
nothing is specified here.
iosint
This variable inherits its value from the parent section if
nothing is specified here.
packetsize
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
tos This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "CiscoRTTMonEchoICMP".)
CiscoRTTMonTcpConnect: (See the separate module documentation for
details about each variable.)
The following new variables are valid:
ioshost
iosint
pings
port
tos
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
ioshost
This variable inherits its value from the parent section if
nothing is specified here.
iosint
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
port
This variable inherits its value from the parent section if
nothing is specified here.
tos This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "CiscoRTTMonTcpConnect".)
Curl: (See the separate module documentation for details about each
variable.)
The following new variables are valid:
agent
extraargs
extrare
insecure_ssl
interface
pings
ssl2
timeout
urlformat
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
agent
This variable inherits its value from the parent section if
nothing is specified here.
extraargs
This variable inherits its value from the parent section if
nothing is specified here.
extrare
This variable inherits its value from the parent section if
nothing is specified here.
insecure_ssl
This variable inherits its value from the parent section if
nothing is specified here.
interface
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
ssl2
This variable inherits its value from the parent section if
nothing is specified here.
timeout
This variable inherits its value from the parent section if
nothing is specified here.
urlformat
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "Curl".)
DNS: (See the separate module documentation for details about each
variable.)
The following new variables are valid:
lookup
pings
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
lookup
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "DNS".)
EchoPing: (See the separate module documentation for details about each
variable.)
The following new variables are valid:
extraopts
fill
ipversion
pings
priority
size
timeout
tos
udp
waittime
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
extraopts
This variable inherits its value from the parent section if
nothing is specified here.
fill
This variable inherits its value from the parent section if
nothing is specified here.
ipversion
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
priority
This variable inherits its value from the parent section if
nothing is specified here.
size
This variable inherits its value from the parent section if
nothing is specified here.
timeout
This variable inherits its value from the parent section if
nothing is specified here.
tos This variable inherits its value from the parent section if
nothing is specified here.
udp This variable inherits its value from the parent section if
nothing is specified here.
waittime
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "EchoPing".)
EchoPingChargen: (See the separate module documentation for details
about each variable.)
The following new variables are valid:
extraopts
fill
ipversion
pings
priority
size
timeout
tos
waittime
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
extraopts
This variable inherits its value from the parent section if
nothing is specified here.
fill
This variable inherits its value from the parent section if
nothing is specified here.
ipversion
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
priority
This variable inherits its value from the parent section if
nothing is specified here.
size
This variable inherits its value from the parent section if
nothing is specified here.
timeout
This variable inherits its value from the parent section if
nothing is specified here.
tos This variable inherits its value from the parent section if
nothing is specified here.
waittime
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "EchoPingChargen".)
EchoPingDiscard: (See the separate module documentation for details
about each variable.)
The following new variables are valid:
extraopts
fill
ipversion
pings
priority
size
timeout
tos
udp
waittime
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
extraopts
This variable inherits its value from the parent section if
nothing is specified here.
fill
This variable inherits its value from the parent section if
nothing is specified here.
ipversion
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
priority
This variable inherits its value from the parent section if
nothing is specified here.
size
This variable inherits its value from the parent section if
nothing is specified here.
timeout
This variable inherits its value from the parent section if
nothing is specified here.
tos This variable inherits its value from the parent section if
nothing is specified here.
udp This variable inherits its value from the parent section if
nothing is specified here.
waittime
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "EchoPingDiscard".)
EchoPingHttp: (See the separate module documentation for details about
each variable.)
The following new variables are valid:
extraopts
ignore_cache
ipversion
pings
port
priority
revalidate_data
timeout
tos
url
waittime
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
extraopts
This variable inherits its value from the parent section if
nothing is specified here.
ignore_cache
This variable inherits its value from the parent section if
nothing is specified here.
ipversion
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
port
This variable inherits its value from the parent section if
nothing is specified here.
priority
This variable inherits its value from the parent section if
nothing is specified here.
revalidate_data
This variable inherits its value from the parent section if
nothing is specified here.
timeout
This variable inherits its value from the parent section if
nothing is specified here.
tos This variable inherits its value from the parent section if
nothing is specified here.
url This variable inherits its value from the parent section if
nothing is specified here.
waittime
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "EchoPingHttp".)
EchoPingHttps: (See the separate module documentation for details about
each variable.)
The following new variables are valid:
extraopts
ignore_cache
ipversion
pings
port
priority
revalidate_data
timeout
tos
url
waittime
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
extraopts
This variable inherits its value from the parent section if
nothing is specified here.
ignore_cache
This variable inherits its value from the parent section if
nothing is specified here.
ipversion
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
port
This variable inherits its value from the parent section if
nothing is specified here.
priority
This variable inherits its value from the parent section if
nothing is specified here.
revalidate_data
This variable inherits its value from the parent section if
nothing is specified here.
timeout
This variable inherits its value from the parent section if
nothing is specified here.
tos This variable inherits its value from the parent section if
nothing is specified here.
url This variable inherits its value from the parent section if
nothing is specified here.
waittime
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "EchoPingHttps".)
EchoPingIcp: (See the separate module documentation for details about
each variable.)
The following new variables are valid:
extraopts
ipversion
pings
priority
timeout
tos
url
waittime
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
extraopts
This variable inherits its value from the parent section if
nothing is specified here.
ipversion
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
priority
This variable inherits its value from the parent section if
nothing is specified here.
timeout
This variable inherits its value from the parent section if
nothing is specified here.
tos This variable inherits its value from the parent section if
nothing is specified here.
url This variable inherits its value from the parent section if
nothing is specified here.
waittime
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "EchoPingIcp".)
EchoPingSmtp: (See the separate module documentation for details about
each variable.)
The following new variables are valid:
extraopts
ipversion
pings
priority
timeout
tos
waittime
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
extraopts
This variable inherits its value from the parent section if
nothing is specified here.
ipversion
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
priority
This variable inherits its value from the parent section if
nothing is specified here.
timeout
This variable inherits its value from the parent section if
nothing is specified here.
tos This variable inherits its value from the parent section if
nothing is specified here.
waittime
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "EchoPingSmtp".)
FPing: (See the separate module documentation for details about each
variable.)
No changes that can be automatically described.
(End of dynamical grammar changes for variable "probe" example
value "FPing".)
FPing6: (See the separate module documentation for details about each
variable.)
No changes that can be automatically described.
(End of dynamical grammar changes for variable "probe" example
value "FPing6".)
IOSPing: (See the separate module documentation for details about each
variable.)
The following new variables are valid:
ioshost
iosint
iosuser
pings
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
ioshost
This variable inherits its value from the parent section if
nothing is specified here.
iosint
This variable inherits its value from the parent section if
nothing is specified here.
iosuser
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "IOSPing".)
LDAP: (See the separate module documentation for details about each
variable.)
The following new variables are valid:
attrs
base
binddn
filter
mininterval
password
pings
port
scope
start_tls
timeout
version
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
attrs
This variable inherits its value from the parent section if
nothing is specified here.
base
This variable inherits its value from the parent section if
nothing is specified here.
binddn
This variable inherits its value from the parent section if
nothing is specified here.
filter
This variable inherits its value from the parent section if
nothing is specified here.
mininterval
This variable inherits its value from the parent section if
nothing is specified here.
password
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
port
This variable inherits its value from the parent section if
nothing is specified here.
scope
This variable inherits its value from the parent section if
nothing is specified here.
start_tls
This variable inherits its value from the parent section if
nothing is specified here.
timeout
This variable inherits its value from the parent section if
nothing is specified here.
version
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "LDAP".)
Radius: (See the separate module documentation for details about each
variable.)
The following new variables are valid:
mininterval
nas_ip_address
password
pings
port
secret
timeout
username
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
mininterval
This variable inherits its value from the parent section if
nothing is specified here.
nas_ip_address
This variable inherits its value from the parent section if
nothing is specified here.
password
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
port
This variable inherits its value from the parent section if
nothing is specified here.
secret
This variable inherits its value from the parent section if
nothing is specified here.
timeout
This variable inherits its value from the parent section if
nothing is specified here.
username
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "Radius".)
RemoteFPing: (See the separate module documentation for details about
each variable.)
No changes that can be automatically described.
(End of dynamical grammar changes for variable "probe" example
value "RemoteFPing".)
SSH: (See the separate module documentation for details about each
variable.)
The following new variables are valid:
pings
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
pings
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "SSH".)
TelnetIOSPing: (See the separate module documentation for details about
each variable.)
The following new variables are valid:
iospass
iosuser
pings
psource
source
Syntax changes for subsection /[-_0-9a-zA-Z]+/
The following new variables are valid:
iospass
This variable inherits its value from the parent section if
nothing is specified here.
iosuser
This variable inherits its value from the parent section if
nothing is specified here.
pings
This variable inherits its value from the parent section if
nothing is specified here.
psource
This variable inherits its value from the parent section if
nothing is specified here.
source
This variable inherits its value from the parent section if
nothing is specified here.
(End of dynamical grammar changes for variable "probe" example
value "TelnetIOSPing".)
(End of dynamical grammar changes for example values of variable
"probe".)
COPYRIGHT
Copyright (c) 2001-2003 by Tobias Oetiker. All right reserved.
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
Tobias Oetiker <tobi@oetiker.ch>