Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Smokeping_probes_Curl(3)	   SmokePing	      Smokeping_probes_Curl(3)

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

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

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
       (see curl(1) for	details	of the options below)

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

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

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

SEE ALSO
       curl(1),	<http://curl.haxx.se/>

2.9.0				  2025-04-18	      Smokeping_probes_Curl(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Smokeping_probes_Curl&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help