circonus 3.6.1 → 3.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/circonus-add-http-check +17 -6
- metadata +1 -1
data/bin/circonus-add-http-check
CHANGED
@@ -10,11 +10,15 @@ host = nil
|
|
10
10
|
options[:brokers] = []
|
11
11
|
options[:hostname] = nil
|
12
12
|
options[:url] = nil
|
13
|
+
options[:timeout] = 10 # seconds
|
14
|
+
options[:texttomatch] = nil
|
13
15
|
options[:tags] = ['application:http','source:manual']
|
14
16
|
opts.banner = "Usage: #{File.basename($0)}\n"
|
15
17
|
opts.on( '--tags TAGLIST',"Apply comma separated list of tags (default: empty list)" ) { |t| options[:tags] += t.split(/,/) }
|
16
18
|
opts.on( '--brokers BROKER',"Comma separated list of broker names to use" ) { |t| options[:brokers] = t.split(',') }
|
17
19
|
opts.on( '--hostname HOSTNAME',"Hostname to add" ) { |t| options[:hostname] = t }
|
20
|
+
opts.on( '--timeout TIMEOUT',"Host timeout" ) { |t| options[:timeout] = t.to_i }
|
21
|
+
opts.on( '--match TEXTTOMATCH',"String to match against in the response" ) { |t| options[:texttomatch] = t }
|
18
22
|
opts.on( '--contactgroups CONTACTGROUPS',"Comma separated list of contact groups to send alerts to" ) { |t| options[:contactgroups] = t }
|
19
23
|
opts.on( '--url URL',"URL to test" ) { |t| options[:url] = t }
|
20
24
|
}
|
@@ -93,6 +97,7 @@ bundle['target'] = @cu.options[:hostname]
|
|
93
97
|
bundle['tags'] = @cu.options[:tags]
|
94
98
|
bundle['display_name'] = "#{@cu.options[:hostname]} http"
|
95
99
|
bundle['config']['url'] = @cu.options[:url]
|
100
|
+
bundle['config']['body'] = @cu.options[:texttomatch] unless @cu.options[:texttomatch].nil?
|
96
101
|
bundle['config']['header_Host'] = @cu.options[:hostname]
|
97
102
|
search_bundles = @cu.circonus.search_check_bundle(bundle['display_name'],'display_name')
|
98
103
|
if search_bundles.any? # already exists...
|
@@ -141,7 +146,7 @@ graph = mib_add_graph!("#{@cu.options[:hostname]} http latency",{'style'=>'line'
|
|
141
146
|
checkids.each do |cid|
|
142
147
|
dpcid = cid.split('/').last.to_i
|
143
148
|
%w{ tt_connect tt_firstbyte duration }.each do |metric|
|
144
|
-
mib_add_datapoint!(graph,metric,{'name'=>"metric cid:#{dpcid}",'legend_formula'=>'=round(VAL,3)','data_formula'=>'=VAL/1000.0','check_id'=>dpcid})
|
149
|
+
mib_add_datapoint!(graph,metric,{'name'=>"#{metric} cid:#{dpcid}",'legend_formula'=>'=round(VAL,3)','data_formula'=>'=VAL/1000.0','check_id'=>dpcid})
|
145
150
|
end
|
146
151
|
end
|
147
152
|
#pp graph
|
@@ -194,8 +199,7 @@ checkids.each do |cid|
|
|
194
199
|
rcid = cid.split('/').last.to_i
|
195
200
|
rs = mib_add_rule_set!('duration',{'check'=>rcid})
|
196
201
|
mib_add_rule!(rs,{ "criteria"=>"on absence", "severity"=>1, "value"=>180 })
|
197
|
-
mib_add_rule!(rs,{ "criteria"=>"max value", "severity"=>1, "value"=>
|
198
|
-
mib_add_rule!(rs,{ "criteria"=>"max value", "severity"=>2, "value"=>4000 })
|
202
|
+
mib_add_rule!(rs,{ "criteria"=>"max value", "severity"=>1, "value"=>(@cu.options[:timeout]*1000) })
|
199
203
|
#pp rs
|
200
204
|
r = @cu.circonus.add_rule_set(rs)
|
201
205
|
if not r.nil? then
|
@@ -209,8 +213,15 @@ checkids.each do |cid|
|
|
209
213
|
if not r.nil? then
|
210
214
|
print "Success\n"
|
211
215
|
end
|
216
|
+
##### missing body
|
217
|
+
unless @cu.options[:texttomatch].nil?
|
218
|
+
rs = mib_add_rule_set!('body_match',{'metric_type'=>'text','check'=>rcid})
|
219
|
+
mib_add_rule!(rs,{ "criteria"=>"does not match", "severity"=>1, "value"=>@cu.options[:texttomatch] })
|
220
|
+
#pp rs
|
221
|
+
r = @cu.circonus.add_rule_set(rs)
|
222
|
+
if not r.nil? then
|
223
|
+
print "Success\n"
|
224
|
+
end
|
225
|
+
end
|
212
226
|
end
|
213
227
|
|
214
|
-
|
215
|
-
|
216
|
-
|