Sha256: 352946e712cf7323741e77acc2a92de0216578db1bb8a1559314375e83edd4bd
Contents?: true
Size: 1.14 KB
Versions: 5
Compression:
Stored size: 1.14 KB
Contents
class Riemann::Babbler::Http < Riemann::Babbler def init plugin.set_default(:service, 'http check') plugin.set_default(:interval, 60) plugin.states.set_default(:critical, 1) plugin.set_default(:http_code, 200) plugin.set_default(:http_method, 'GET') plugin.set_default(:connect_timeout, 5) plugin.set_default(:retry, 0) plugin.set_default(:retry_delay, 0) plugin.set_default(:max_time, 10) plugin.set_default(:insecure, false) plugin.set_default(:url, 'http://127.0.0.1:80') end def collect command = "curl -X#{plugin.http_method} -s" command += " --connect-timeout #{plugin.connect_timeout}" command += " --insecure " if plugin.insecure command += " -w '%{http_code}\\n'" command += " --retry #{plugin.retry} --retry-delay #{plugin.retry_delay}" command += " --max-time #{plugin.max_time} --fail" command += " #{plugin.url} -o /dev/null || echo 'mock exit status'" out = shell(command).to_i if out != plugin.http_code metric = 1 else metric = 0 end {:service => plugin.service, :metric => metric, :description => "http_code: #{out}"} end end
Version data entries
5 entries across 5 versions & 1 rubygems