GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Smokeping_probes_Curl(3) SmokePing Smokeping_probes_Curl(3)

Smokeping::probes::Curl - a curl(1) probe for SmokePing

Fetches an HTTP or HTTPS URL using curl(1).

 *** Probes ***

 +Curl

 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
 expect = Status: green
 extraargs = -6 --head --user user:password
 extrare = / /
 follow_redirects = yes
 include_redirects = yes
 insecure_ssl = 1
 interface = eth0
 pings = 5
 require_zero_status = yes
 ssl2 = 1
 timeout = 20
 urlformat = http://%host%/ # mandatory

 # [...]

 *** Targets ***

 probe = Curl # if this should be the default probe

 # [...]

 + mytarget
 # probe = Curl # 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
 expect = Status: green
 extraargs = -6 --head --user user:password
 extrare = / /
 follow_redirects = yes
 include_redirects = yes
 insecure_ssl = 1
 interface = eth0
 pings = 5
 require_zero_status = yes
 ssl2 = 1
 timeout = 20
 urlformat = http://%host%/ # mandatory

(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

expect
Require the given text to appear somewhere in the response, otherwise probe is treated as a failure

Example value: Status: green

Default value:

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

require_zero_status
If this variable is set to 'yes', responses will only be counted if Curl's exit status is '0'. This is useful for reporting timeouts as losses rather than delayed responses.

Example value: yes

Default value: no

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.

 Gerald Combs <gerald [AT] ethereal.com>
 Niko Tyni <ntyni@iki.fi>

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.

curl(1), <http://curl.haxx.se/>
2022-06-08 2.8.2

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.