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