class Checkson::Check::DNS
Public Class Methods
new(opts = {})
click to toggle source
Calls superclass method
Checkson::Check::Base::new
# File lib/checkson/checks/dns.rb, line 6 def initialize(opts = {}) @opts = { domain: 'heise.de', timeout: 1, host: 'localhost' }.merge(opts) super() end
Public Instance Methods
check()
click to toggle source
# File lib/checkson/checks/dns.rb, line 13 def check require 'resolv' resolver = Resolv::DNS.new(nameserver: [@opts[:host]]) resolver.timeouts = @opts[:timeout] begin resolver.getaddress(@opts[:domain]) rescue Resolv::ResolvTimeout failed! log("Resolving #{@opts[:domain]} timed out") rescue Resolv::ResolvError failed! log("Could not resolve #{@opts[:domain]}") end end