1Smokeping_probes_AnotherCurl(3) SmokePing Smokeping_probes_AnotherCurl(3)
2
3
4
6 Smokeping::probes::AnotherCurl - a curl(1) probe for SmokePing
7
9 Fetches an HTTP or HTTPS URL using curl(1).
10
12 *** Probes ***
13
14 +AnotherCurl
15
16 binary = /usr/bin/curl
17 forks = 5
18 offset = 50%
19 step = 300
20
21 # The following variables can be overridden in each target section
22 agent = User-Agent: Lynx/2.8.4rel.1 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.6c
23 extraargs = -6 --head --user user:password
24 extrare = / /
25 follow_redirects = yes
26 include_redirects = yes
27 insecure_ssl = 1
28 interface = eth0
29 pings = 5
30 ssl2 = 1
31 timeout = 20
32 urlformat = http://%host%/ # mandatory
33 write_out =
34
35 # [...]
36
37 *** Targets ***
38
39 probe = AnotherCurl # if this should be the default probe
40
41 # [...]
42
43 + mytarget
44 # probe = AnotherCurl # if the default probe is something else
45 host = my.host
46 agent = User-Agent: Lynx/2.8.4rel.1 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.6c
47 extraargs = -6 --head --user user:password
48 extrare = / /
49 follow_redirects = yes
50 include_redirects = yes
51 insecure_ssl = 1
52 interface = eth0
53 pings = 5
54 ssl2 = 1
55 timeout = 20
56 urlformat = http://%host%/ # mandatory
57 write_out =
58
60 (see curl(1) for details of the options below)
61
63 Supported probe-specific variables:
64
65 binary
66 The location of your curl binary.
67
68 Default value: /usr/bin/curl
69
70 forks
71 Run this many concurrent processes at maximum
72
73 Example value: 5
74
75 Default value: 5
76
77 offset
78 If you run many probes concurrently you may want to prevent them
79 from hitting your network all at the same time. Using the probe-
80 specific offset parameter you can change the point in time when
81 each probe will be run. Offset is specified in % of total interval,
82 or alternatively as 'random', and the offset from the 'General'
83 section is used if nothing is specified here. Note that this does
84 NOT influence the rrds itself, it is just a matter of when data
85 acqusition is initiated. (This variable is only applicable if the
86 variable 'concurrentprobes' is set in the 'General' section.)
87
88 Example value: 50%
89
90 step
91 Duration of the base interval that this probe should use, if
92 different from the one specified in the 'Database' section. Note
93 that the step in the RRD files is fixed when they are originally
94 generated, and if you change the step parameter afterwards, you'll
95 have to delete the old RRD files or somehow convert them. (This
96 variable is only applicable if the variable 'concurrentprobes' is
97 set in the 'General' section.)
98
99 Example value: 300
100
101 Supported target-specific variables:
102
103 agent
104 The "-A" curl(1) option. This is a full HTTP User-Agent header
105 including the words "User-Agent:". Note that it does not need any
106 quotes around it.
107
108 Example value: User-Agent: Lynx/2.8.4rel.1 libwww-FM/2.14
109 SSL-MM/1.4.1 OpenSSL/0.9.6c
110
111 extraargs
112 Any extra arguments you might want to hand to curl(1). The
113 arguments should be separated by the regexp specified in "extrare",
114 which contains just the space character (" ") by default.
115
116 Note that curl will be called with the resulting list of arguments
117 without any shell expansion. If you need to specify any arguments
118 containing spaces, you should set "extrare" to something else.
119
120 As a complicated example, to explicitly set the "Host:" header in
121 Curl requests, you need to set "extrare" to something else, eg.
122 "/;/", and then specify "extraargs = --header;Host:
123 www.example.com".
124
125 Example value: -6 --head --user user:password
126
127 extrare
128 The regexp used to split the extraargs string into an argument
129 list, in the "/regexp/" notation. This contains just the space
130 character (" ") by default, but if you need to specify any
131 arguments containing spaces, you can set this variable to a
132 different value.
133
134 Example value: / /
135
136 Default value: / /
137
138 follow_redirects
139 If this variable is set to 'yes', curl will follow any HTTP
140 redirection steps (the '-L' option). If set to 'no', HTTP
141 Location: headers will not be followed. See also
142 'include_redirects'.
143
144 Example value: yes
145
146 Default value: no
147
148 include_redirects
149 If this variable is set to 'yes', the measurement result will
150 include the time spent on following any HTTP redirection steps. If
151 set to 'no', only the last step is measured. See also
152 'follow_redirects'.
153
154 Example value: yes
155
156 Default value: no
157
158 insecure_ssl
159 The "-k" curl(1) option. Accept SSL connections that don't have a
160 secure certificate chain to a trusted CA. Note that if you are
161 going to monitor https targets, you'll probably have to either
162 enable this option or specify the CA path to curl through extraargs
163 below. For more info, see the curl(1) manual page.
164
165 Example value: 1
166
167 interface
168 The "--interface" curl(1) option. Bind to a specific interface, IP
169 address or host name.
170
171 Example value: eth0
172
173 pings
174 How many pings should be sent to each target, if different from the
175 global value specified in the Database section. Note that the
176 number of pings in the RRD files is fixed when they are originally
177 generated, and if you change this parameter afterwards, you'll have
178 to delete the old RRD files or somehow convert them.
179
180 Example value: 5
181
182 ssl2
183 The "-2" curl(1) option. Force SSL2.
184
185 Example value: 1
186
187 timeout
188 The "-m" curl(1) option. Maximum timeout in seconds.
189
190 Example value: 20
191
192 Default value: 10
193
194 urlformat
195 The template of the URL to fetch. Can be any one that curl
196 supports. Any occurrence of the string '%host%' will be replaced
197 with the host to be probed.
198
199 Example value: http://%host%/
200
201 This setting is mandatory.
202
203 write_out
204 Choose which write-out value you want to send to Smokeping. Value
205 can be one of: 'time_appconnect', 'time_connect',
206 'time_namelookup', 'time_pretransfer', 'time_redirect',
207 'time_starttransfer', 'time_total'.
208
209 Default behaviour is the same as legacy Curl probe one.
210
212 Gerald Combs <gerald [AT] ethereal.com>
213 Niko Tyni <ntyni@iki.fi>
214 Jean Baptiste Favre <smokeping@jbfavre.org>
215
217 You should consider setting a lower value for the "pings" variable than
218 the default 20, as repetitive URL fetching may be quite heavy on the
219 server.
220
221 The URL to be tested used to be specified by the variable 'url' in
222 earlier versions of Smokeping, and the 'host' setting did not influence
223 it in any way. The variable name has now been changed to 'urlformat',
224 and it can (and in most cases should) contain a placeholder for the
225 'host' variable.
226
227 Legacy Curl probe only returns page load time. With AnotherCurl, you
228 can specify which 'write-out' value you want to get (please refer to
229 curl(1) for more details about write_out option.
230
232 curl(1), <http://curl.haxx.se/>
233
234
235
2362.7.3 2021-07-23 Smokeping_probes_AnotherCurl(3)