|
|
| |
Smokeping_probes_AnotherCurl(3) |
SmokePing |
Smokeping_probes_AnotherCurl(3) |
Smokeping::probes::AnotherCurl - a curl(1) probe for SmokePing
Fetches an HTTP or HTTPS URL using curl(1).
*** Probes ***
+AnotherCurl
binary = /usr/bin/curl
forks = 5
offset = 50%
step = 300
# The following variables can be overridden in each target section
/^influx_.+/ = influx_location = In the basement
agent = User-Agent: Lynx/2.8.4rel.1 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.6c
extraargs = -6 --head --user user:password
extrare = / /
follow_redirects = yes
include_redirects = yes
insecure_ssl = 1
interface = eth0
pings = 5
ssl2 = 1
timeout = 20
urlformat = http://%host%/ # mandatory
write_out =
# [...]
*** Targets ***
probe = AnotherCurl # if this should be the default probe
# [...]
+ mytarget
# probe = AnotherCurl # if the default probe is something else
host = my.host
/^influx_.+/ = influx_location = In the basement
agent = User-Agent: Lynx/2.8.4rel.1 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.6c
extraargs = -6 --head --user user:password
extrare = / /
follow_redirects = yes
include_redirects = yes
insecure_ssl = 1
interface = eth0
pings = 5
ssl2 = 1
timeout = 20
urlformat = http://%host%/ # mandatory
write_out =
(see curl(1) for details of the options below)
Supported probe-specific variables:
- binary
- The location of your curl binary.
Default value: /usr/bin/curl
- forks
- Run this many concurrent processes at maximum
Example value: 5
Default value: 5
- offset
- If you run many probes concurrently you may want to prevent them from
hitting your network all at the same time. Using the probe-specific offset
parameter you can change the point in time when each probe will be run.
Offset is specified in % of total interval, or alternatively as 'random',
and the offset from the 'General' section is used if nothing is specified
here. Note that this does NOT influence the rrds itself, it is just a
matter of when data acquisition is initiated. (This variable is only
applicable if the variable 'concurrentprobes' is set in the 'General'
section.)
Example value: 50%
- step
- Duration of the base interval that this probe should use, if different
from the one specified in the 'Database' section. 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. (This variable is only applicable if the
variable 'concurrentprobes' is set in the 'General' section.)
Example value: 300
Supported target-specific variables:
- /^influx_.+/
- This is a tag that will be sent to influxdb and has no impact on the probe
measurement. The tag name will be sent without the "influx_"
prefix, which will be replaced with "tag_" instead. Tags can be
used for filtering.
Example value: influx_location = In the basement
- agent
- The "-A" curl(1) option. This is a full HTTP User-Agent
header including the words "User-Agent:". Note that it does not
need any quotes around it.
Example value: User-Agent: Lynx/2.8.4rel.1 libwww-FM/2.14
SSL-MM/1.4.1 OpenSSL/0.9.6c
- extraargs
- Any extra arguments you might want to hand to curl(1). The
arguments should be separated by the regexp specified in
"extrare", which contains just the space character ("
") by default.
Note that curl will be called with the resulting list of
arguments without any shell expansion. If you need to specify any
arguments containing spaces, you should set "extrare" to
something else.
As a complicated example, to explicitly set the
"Host:" header in Curl requests, you need to set
"extrare" to something else, eg. "/;/", and then
specify "extraargs = --header;Host:
www.example.com".
Example value: -6 --head --user user:password
- extrare
- The regexp used to split the extraargs string into an argument list, in
the "/regexp/" notation. This contains just the space character
(" ") by default, but if you need to specify any arguments
containing spaces, you can set this variable to a different value.
Example value: / /
Default value: / /
- follow_redirects
- If this variable is set to 'yes', curl will follow any HTTP redirection
steps (the '-L' option). If set to 'no', HTTP Location: headers will not
be followed. See also 'include_redirects'.
Example value: yes
Default value: no
- include_redirects
- If this variable is set to 'yes', the measurement result will include the
time spent on following any HTTP redirection steps. If set to 'no', only
the last step is measured. See also 'follow_redirects'.
Example value: yes
Default value: no
- insecure_ssl
- The "-k" curl(1) option. Accept SSL connections that
don't have a secure certificate chain to a trusted CA. Note that if you
are going to monitor https targets, you'll probably have to either enable
this option or specify the CA path to curl through extraargs below. For
more info, see the curl(1) manual page.
Example value: 1
- interface
- The "--interface" curl(1) option. Bind to a specific
interface, IP address or host name.
Example value: eth0
- pings
- How many pings should be sent to each target, if different from the global
value specified in the Database section. 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.
Example value: 5
- ssl2
- The "-2" curl(1) option. Force SSL2.
Example value: 1
- timeout
- The "-m" curl(1) option. Maximum timeout in seconds.
Example value: 20
Default value: 10
- urlformat
- The template of the URL to fetch. Can be any one that curl supports. Any
occurrence of the string '%host%' will be replaced with the host to be
probed.
Example value: http://%host%/
This setting is mandatory.
- write_out
- Choose which write-out value you want to send to Smokeping. Value can be
one of: 'time_appconnect', 'time_connect', 'time_namelookup',
'time_pretransfer', 'time_redirect', 'time_starttransfer', 'time_total'.
Default behaviour is the same as legacy Curl probe one.
Gerald Combs <gerald [AT] ethereal.com>
Niko Tyni <ntyni@iki.fi>
Jean Baptiste Favre <smokeping@jbfavre.org>
You should consider setting a lower value for the
"pings" variable than the default 20, as
repetitive URL fetching may be quite heavy on the server.
The URL to be tested used to be specified by the variable 'url' in
earlier versions of Smokeping, and the 'host' setting did not influence it
in any way. The variable name has now been changed to 'urlformat', and it
can (and in most cases should) contain a placeholder for the 'host'
variable.
Legacy Curl probe only returns page load time. With AnotherCurl,
you can specify which 'write-out' value you want to get (please refer to
curl(1) for more details about write_out option.
curl(1), <http://curl.haxx.se/>
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |