Smokeping_probes_Curl(3)
π NAME π
okay so bestie, welcome to the Smokeping_probes_Curl(3) page from the SmokePing manual π
Smokeping::probes::Curl β a curl(1) probe for SmokePing.
π¦ OVERVIEW π¦
It fetches an HTTP or HTTPS URL using curl(1). iconic behavior, no cap β¨
β¨ SYNOPSIS β¨
*** 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
π DESCRIPTION π
short and sweet: (see curl(1) for details of the options below) π«Ά
π VARIABLES π
π§ͺ Supported probe-specific variables
binaryβ where yourcurlbinary lives. 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 might want to stop them all from hitting your network at the exact same time π. This probe-specific offset changes the point in time when each probe runs. Offset is specified in%of total interval, or alternatively asrandom, and the offset from theGeneralsection is used if nothing is specified here. Note that this does NOT influence the rrds themselves β itβs just a matter of when data acquisition is initiated. This variable is only applicable if the variableconcurrentprobesis set in theGeneralsection. Example value:50%.stepβ duration of the base interval that this probe should use, if itβs different from the one specified in theDatabasesection. Note that the step in the RRD files is fixed when they are originally generated, and if you change thestepparameter afterwards, youβll have to delete the old RRD files or somehow convert them. This variable is only applicable if the variableconcurrentprobesis set in theGeneralsection. 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-Acurl(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 the probe is treated as a failure. Example value:Status: green. Default value: (blank in the manual).extraargsβ any extra arguments you might want to hand tocurl(1). The arguments should be separated by the regexp specified inextrare, which contains just the space character (" ") by default. Note thatcurlwill be called with the resulting list of arguments without any shell expansion. If you need to specify any arguments containing spaces, you should setextrareto something else. As a complicated example, to explicitly set the"Host:"header in Curl requests, you need to setextrareto 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 theextraargsstring 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 toyes,curlwill follow any HTTP redirection steps (the-Loption). If set tono, HTTPLocation:headers will not be followed. See alsoinclude_redirects. Example value:yes. Default value:no.include_redirectsβ if this variable is set toyes, the measurement result will include the time spent on following any HTTP redirection steps. If set tono, only the last step is measured. See alsofollow_redirects. Example value:yes. Default value:no.insecure_sslβ the-kcurl(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 throughextraargsbelow. For more info, see thecurl(1)manual page. Example value:1.interfaceβ the--interfacecurl(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 theDatabasesection. 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 toyes, responses will only be counted if Curlβs exit status is0. This is useful for reporting timeouts as losses rather than delayed responses. Example value:yes. Default value:no.ssl2β the-2curl(1)option. Force SSL2. Example value:1.timeoutβ the-mcurl(1)option. Maximum timeout in seconds. Example value:20. Default value:10.urlformatβ the template of the URL to fetch. Can be any one thatcurlsupports. Any occurrence of the string%host%will be replaced with the host to be probed. Example value:http://%host%/. This setting is mandatory π₯.
π AUTHORS π
Gerald Combs <gerald [AT] ethereal.com>Niko Tyni <ntyni@iki.fi>
πΈ NOTES πΈ
- bestie, lowkey consider setting a lower value for the
pingsvariable than the default20, because repetitive URL fetching may be quite heavy on the server π. - The URL to be tested used to be specified by the variable
urlin earlier versions of Smokeping, and thehostsetting did not influence it in any way. The variable name has now been changed tourlformat, and it can (and in most cases should) contain a placeholder for thehostvariable. periodt π
π SEE ALSO π
curl(1), <http://curl.haxx.se/> β go read, iykyk π¦
made with π by the SmokePing girlies β this is Smokeping_probes_Curl(3), version 2.9.0, dated 2025-06-30 π«Άβ¨
π¦ where this page comes from
- alpine 3.23: smokeping-doc 2.9.0-r1 Β· GPL-2.0-or-later
- alpine 3.24: smokeping-doc 2.9.0-r1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms