diff options
author | Patrick J Cherry <patrick@bytemark.co.uk> | 2012-11-23 10:23:51 +0000 |
---|---|---|
committer | Patrick J Cherry <patrick@bytemark.co.uk> | 2012-11-23 10:23:51 +0000 |
commit | 7ee5acc25e47a0d1c8d27acb8ce4e80ad48087b6 (patch) | |
tree | 4b1eac4b1c48fc910f1824742011129832a5472c /lib/mauve | |
parent | 9a02180c2aa902d41d142cf7faead4029bc641e3 (diff) |
Added minimal_dns_lookups configuration directive to allow alert-group
DNS lookups to occur when needed.
Diffstat (limited to 'lib/mauve')
-rw-r--r-- | lib/mauve/configuration.rb | 14 | ||||
-rw-r--r-- | lib/mauve/source_list.rb | 3 |
2 files changed, 16 insertions, 1 deletions
diff --git a/lib/mauve/configuration.rb b/lib/mauve/configuration.rb index 457fb4d..8a2ed74 100644 --- a/lib/mauve/configuration.rb +++ b/lib/mauve/configuration.rb @@ -40,6 +40,7 @@ module Mauve # attr_reader :bytemark_auth_url, :bytemark_calendar_url, :remote_http_timeout, :remote_https_verify_mode, :failed_login_delay attr_reader :max_acknowledgement_time, :working_hours, :dead_zone, :daytime_hours + attr_reader :minimal_dns_lookups # @@ -70,6 +71,11 @@ module Mauve self.failed_login_delay = 1 # + # Reduce the amount of DNS lookups when matching alerts to groups. + # + self.minimal_dns_lookups = false + + # # Maximum amount of time to acknowledge for # self.max_acknowledgement_time = 15.days @@ -247,6 +253,14 @@ module Mauve end + def minimal_dns_lookups=(bool) + if bool.is_a?(TrueClass) or bool.to_s.strip =~ /^(1|y(es)?|t(rue))/ + @minimal_dns_lookups = true + else + @minimal_dns_lookups = false + end + end + end diff --git a/lib/mauve/source_list.rb b/lib/mauve/source_list.rb index ad84670..869d99a 100644 --- a/lib/mauve/source_list.rb +++ b/lib/mauve/source_list.rb @@ -5,6 +5,7 @@ require 'uri' require 'mauve/mauve_time' require 'mauve/mauve_resolv' require 'mauve/generic_http_api_client' +require 'mauve/configuration' module Mauve @@ -146,7 +147,7 @@ module Mauve # # To cut down the amount of DNS queries, we'll bail out at this point. # - return false + return false if true == Configuration.current.minimal_dns_lookups return false unless self.list.any?{|l| l.is_a?(IPAddr)} |