aboutsummaryrefslogtreecommitdiff
path: root/lib/mauve
diff options
context:
space:
mode:
authorPatrick J Cherry <patrick@bytemark.co.uk>2012-11-23 10:23:51 +0000
committerPatrick J Cherry <patrick@bytemark.co.uk>2012-11-23 10:23:51 +0000
commit7ee5acc25e47a0d1c8d27acb8ce4e80ad48087b6 (patch)
tree4b1eac4b1c48fc910f1824742011129832a5472c /lib/mauve
parent9a02180c2aa902d41d142cf7faead4029bc641e3 (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.rb14
-rw-r--r--lib/mauve/source_list.rb3
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)}