class Interferon::AlertDSL
Public Instance Methods
applies(v = nil, &block)
click to toggle source
# File lib/interferon/alert_dsl.rb, line 48 def applies(v = nil, &block) get_or_set(:@applies, v, block, false) end
evaluation_delay(v = nil, &block)
click to toggle source
# File lib/interferon/alert_dsl.rb, line 94 def evaluation_delay(v = nil, &block) get_or_set(:@evaluation_delay, v, block, nil) end
is_work_hour?(args = {})
click to toggle source
# File lib/interferon/alert_dsl.rb, line 64 def is_work_hour?(args = {}) # Args can contain # :hours => range of work hours (0 to 23h), for example (9..16) # :days => range of week days (0 = sunday), for example (1..5) (Monday to Friday) # :timezone => example 'America/Los_Angeles' # 9 to 5 Monday to Friday in PST is the default WorkHoursHelper.is_work_hour?(Time.now.utc, args) end
message(v = nil, &block)
click to toggle source
# File lib/interferon/alert_dsl.rb, line 40 def message(v = nil, &block) get_or_set(:@message, v, block, '') end
metric(_v = nil)
click to toggle source
# File lib/interferon/alert_dsl.rb, line 110 def metric(_v = nil) @metric ||= MetricDSL.new(@hostinfo) end
monitor_type(v = nil, &block)
click to toggle source
# File lib/interferon/alert_dsl.rb, line 44 def monitor_type(v = nil, &block) get_or_set(:@monitor_type, v, block, 'metric alert') end
name(v = nil, &block)
click to toggle source
# File lib/interferon/alert_dsl.rb, line 36 def name(v = nil, &block) get_or_set(:@name, v, block, '', &:strip) end
new_host_delay(v = nil, &block)
click to toggle source
# File lib/interferon/alert_dsl.rb, line 98 def new_host_delay(v = nil, &block) get_or_set(:@new_host_delay, v, block, 300) end
no_data_timeframe(v = nil, &block)
click to toggle source
# File lib/interferon/alert_dsl.rb, line 77 def no_data_timeframe(v = nil, &block) get_or_set(:@no_data_timeframe, v, block, nil) end
notify(_v = nil)
click to toggle source
# File lib/interferon/alert_dsl.rb, line 106 def notify(_v = nil) @notify ||= NotifyDSL.new(@hostinfo) end
notify_no_data(v = nil, &block)
click to toggle source
# File lib/interferon/alert_dsl.rb, line 73 def notify_no_data(v = nil, &block) get_or_set(:@notify_no_data, v, block, false) end
require_full_window(v = nil, &block)
click to toggle source
# File lib/interferon/alert_dsl.rb, line 102 def require_full_window(v = nil, &block) get_or_set(:@require_full_window, v, block, nil) end
silenced(v = nil, &block)
click to toggle source
# File lib/interferon/alert_dsl.rb, line 52 def silenced(v = nil, &block) get_or_set(:@silenced, v, block, {}) do |val| if val.is_a? Hash val elsif val == true { '*' => nil } else {} end end end
thresholds(v = nil, &block)
click to toggle source
# File lib/interferon/alert_dsl.rb, line 90 def thresholds(v = nil, &block) get_or_set(:@thresholds, v, block, nil) end
timeout(v = nil, &block)
click to toggle source
# File lib/interferon/alert_dsl.rb, line 81 def timeout(v = nil, &block) get_or_set(:@timeout, v, block, nil) end
timeout_h()
click to toggle source
# File lib/interferon/alert_dsl.rb, line 85 def timeout_h # timeout is in seconds, but set it to 1 hour at least timeout ? [1, timeout.to_i / 3600].max : nil end