flapjack 0.7.27 → 0.7.28
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/CHANGELOG.md +9 -0
- data/bin/flapjack +22 -28
- data/bin/flapjack-nagios-receiver +5 -27
- data/bin/flapjack-populator +2 -2
- data/bin/flapper +13 -14
- data/bin/receive-events +3 -20
- data/bin/simulate-failed-check +3 -20
- data/etc/flapjack_config.yaml.example +119 -86
- data/features/cli.feature +69 -0
- data/features/events.feature +15 -0
- data/features/packaging-lintian.feature +4 -6
- data/features/rollup.feature +198 -0
- data/features/steps/cli_steps.rb +81 -0
- data/features/steps/events_steps.rb +26 -16
- data/features/steps/notifications_steps.rb +2 -2
- data/features/steps/packaging-lintian_steps.rb +2 -2
- data/features/support/daemons.rb +113 -0
- data/features/support/env.rb +26 -4
- data/lib/flapjack/configuration.rb +2 -0
- data/lib/flapjack/data/contact.rb +76 -5
- data/lib/flapjack/data/entity_check.rb +16 -0
- data/lib/flapjack/data/message.rb +11 -8
- data/lib/flapjack/data/notification.rb +31 -3
- data/lib/flapjack/data/notification_rule.rb +1 -1
- data/lib/flapjack/filters/delays.rb +1 -5
- data/lib/flapjack/gateways/api/contact_methods.rb +12 -6
- data/lib/flapjack/gateways/email.rb +35 -26
- data/lib/flapjack/gateways/email/alert.html.erb +4 -4
- data/lib/flapjack/gateways/email/alert.text.erb +2 -2
- data/lib/flapjack/gateways/email/alert_subject.text.erb +14 -0
- data/lib/flapjack/gateways/email/rollup.html.erb +48 -0
- data/lib/flapjack/gateways/email/rollup.text.erb +20 -0
- data/lib/flapjack/gateways/email/rollup_subject.text.erb +19 -0
- data/lib/flapjack/gateways/jabber.rb +97 -47
- data/lib/flapjack/gateways/sms_messagenet.rb +26 -24
- data/lib/flapjack/gateways/sms_messagenet/alert.text.erb +15 -0
- data/lib/flapjack/gateways/sms_messagenet/rollup.text.erb +34 -0
- data/lib/flapjack/gateways/web/views/contact.html.erb +16 -8
- data/lib/flapjack/notifier.rb +17 -4
- data/lib/flapjack/processor.rb +1 -1
- data/lib/flapjack/version.rb +1 -1
- data/spec/lib/flapjack/coordinator_spec.rb +19 -19
- data/spec/lib/flapjack/data/contact_spec.rb +100 -25
- data/spec/lib/flapjack/data/event_spec.rb +1 -1
- data/spec/lib/flapjack/data/message_spec.rb +1 -1
- data/spec/lib/flapjack/data/notification_spec.rb +11 -3
- data/spec/lib/flapjack/gateways/api/contact_methods_spec.rb +36 -17
- data/spec/lib/flapjack/gateways/api/entity_check_presenter_spec.rb +1 -1
- data/spec/lib/flapjack/gateways/api/entity_methods_spec.rb +38 -38
- data/spec/lib/flapjack/gateways/api/entity_presenter_spec.rb +15 -15
- data/spec/lib/flapjack/gateways/email_spec.rb +4 -4
- data/spec/lib/flapjack/gateways/jabber_spec.rb +13 -14
- data/spec/lib/flapjack/gateways/oobetet_spec.rb +2 -2
- data/spec/lib/flapjack/gateways/pagerduty_spec.rb +5 -5
- data/spec/lib/flapjack/gateways/sms_messagenet.spec.rb +1 -1
- data/spec/lib/flapjack/gateways/web/views/contact.html.erb_spec.rb +2 -2
- data/spec/lib/flapjack/gateways/web_spec.rb +4 -4
- data/spec/lib/flapjack/logger_spec.rb +3 -3
- data/spec/lib/flapjack/pikelet_spec.rb +10 -10
- data/spec/lib/flapjack/processor_spec.rb +4 -4
- data/spec/lib/flapjack/redis_pool_spec.rb +1 -1
- metadata +70 -5
- checksums.yaml +0 -15
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
## Flapjack Changelog
|
2
2
|
|
3
|
+
# 0.7.28 - 2013-10-21
|
4
|
+
- Feature: Per contact media rollup (summary) notifications - foundation (data, api, web UI etc) gh-291 (@jessereynolds)
|
5
|
+
- Feature: flapper takes an IP to bind to gh-98 (@ali-graham)
|
6
|
+
- Feature: tests for bin scripts gh-289 (@ali-graham)
|
7
|
+
- Feature: Entity / check query function via jabber gh-77 (@ali-graham)
|
8
|
+
- Chore: Make production the default environment gh-331 (@jessereynolds)
|
9
|
+
- Chore: Look in /etc/flapjack/flapjack_config.yaml for config by default gh-332 (@jessereynolds)
|
10
|
+
- Bug: --version should not depend on a config file being found gh-316 (@ali-graham)
|
11
|
+
|
3
12
|
# 0.7.27 - 2013-09-19
|
4
13
|
- Feature: Treat UNKNOWN separately to CRITICAL in notification rules gh-295 (@jessereynolds)
|
5
14
|
- Bug: License missing from gemspec gh-313 (@jessereynolds)
|
data/bin/flapjack
CHANGED
@@ -21,13 +21,15 @@ require 'optparse'
|
|
21
21
|
require 'ostruct'
|
22
22
|
|
23
23
|
require 'oj'
|
24
|
+
Oj.mimic_JSON
|
24
25
|
Oj.default_options = { :indent => 0, :mode => :strict }
|
26
|
+
require 'active_support/json'
|
25
27
|
|
26
28
|
require 'flapjack/configuration'
|
27
29
|
require 'flapjack/version'
|
28
30
|
|
29
31
|
options = OpenStruct.new
|
30
|
-
options.config =
|
32
|
+
options.config = Flapjack::Configuration::DEFAULT_CONFIG_PATH
|
31
33
|
options.daemonize = nil
|
32
34
|
|
33
35
|
@exe = File.basename(__FILE__)
|
@@ -55,8 +57,8 @@ optparse = OptionParser.new do |opts|
|
|
55
57
|
options.daemonize = d
|
56
58
|
end
|
57
59
|
|
58
|
-
opts.on("-p", "--pidfile [PATH]", String, "PATH to the pidfile to write to") do |
|
59
|
-
options.pidfile =
|
60
|
+
opts.on("-p", "--pidfile [PATH]", String, "PATH to the pidfile to write to") do |pid|
|
61
|
+
options.pidfile = pid
|
60
62
|
end
|
61
63
|
|
62
64
|
opts.on("-l", "--logfile [PATH]", String, "PATH to the logfile to write to") do |l|
|
@@ -67,11 +69,26 @@ optparse = OptionParser.new do |opts|
|
|
67
69
|
options.version = v
|
68
70
|
end
|
69
71
|
|
70
|
-
|
71
72
|
end
|
72
73
|
optparse.parse!(ARGV)
|
73
74
|
|
74
|
-
|
75
|
+
if options.help
|
76
|
+
puts optparse
|
77
|
+
exit
|
78
|
+
elsif options.version
|
79
|
+
puts Flapjack::VERSION
|
80
|
+
exit
|
81
|
+
elsif !["start", "stop", "restart", "reload", "status"].include?(ARGV[0])
|
82
|
+
if ARGV.nil? || ARGV.empty?
|
83
|
+
puts "No command provided"
|
84
|
+
else
|
85
|
+
puts "Unknown command provided: '#{ARGV[0]}'"
|
86
|
+
end
|
87
|
+
puts "\n#{optparse}"
|
88
|
+
exit 1
|
89
|
+
end
|
90
|
+
|
91
|
+
FLAPJACK_ENV = ENV['FLAPJACK_ENV'] || 'production'
|
75
92
|
|
76
93
|
config = Flapjack::Configuration.new
|
77
94
|
config.load(options.config)
|
@@ -94,11 +111,6 @@ daemonize = options.daemonize.nil? ?
|
|
94
111
|
!!config_env['daemonize'] :
|
95
112
|
options.daemonize
|
96
113
|
|
97
|
-
if options.version
|
98
|
-
puts Flapjack::VERSION
|
99
|
-
exit
|
100
|
-
end
|
101
|
-
|
102
114
|
flapjack_coord = Proc.new {
|
103
115
|
require 'flapjack/coordinator'
|
104
116
|
coordinator = Flapjack::Coordinator.new(config)
|
@@ -205,22 +217,4 @@ when "status"
|
|
205
217
|
puts "Flapjack is not running"
|
206
218
|
exit 3
|
207
219
|
end
|
208
|
-
|
209
|
-
when "help"
|
210
|
-
puts optparse
|
211
|
-
exit
|
212
|
-
|
213
|
-
when "version"
|
214
|
-
puts Flapjack::VERSION
|
215
|
-
exit
|
216
|
-
|
217
|
-
else
|
218
|
-
if ARGV.nil? || ARGV.empty?
|
219
|
-
puts "No command provided"
|
220
|
-
else
|
221
|
-
puts "Unknown command provided: '#{ARGV[0]}'"
|
222
|
-
end
|
223
|
-
puts "\n#{optparse}"
|
224
|
-
exit 1
|
225
|
-
|
226
220
|
end
|
@@ -75,7 +75,7 @@ def main(opts)
|
|
75
75
|
end
|
76
76
|
|
77
77
|
options = OpenStruct.new
|
78
|
-
options.config =
|
78
|
+
options.config = Flapjack::Configuration::DEFAULT_CONFIG_PATH
|
79
79
|
options.daemonize = nil
|
80
80
|
|
81
81
|
exe = File.basename(__FILE__)
|
@@ -104,8 +104,8 @@ optparse = OptionParser.new do |opts|
|
|
104
104
|
options.daemonize = d
|
105
105
|
end
|
106
106
|
|
107
|
-
opts.on("-p", "--pidfile [PATH]", String, "PATH to the pidfile to write to") do |
|
108
|
-
options.pidfile =
|
107
|
+
opts.on("-p", "--pidfile [PATH]", String, "PATH to the pidfile to write to") do |pid|
|
108
|
+
options.pidfile = pid
|
109
109
|
end
|
110
110
|
|
111
111
|
opts.on("-l", "--logfile [PATH]", String, "PATH to the logfile to write to") do |l|
|
@@ -115,32 +115,10 @@ optparse = OptionParser.new do |opts|
|
|
115
115
|
end
|
116
116
|
optparse.parse!(ARGV)
|
117
117
|
|
118
|
-
FLAPJACK_ENV = ENV['FLAPJACK_ENV'] || '
|
119
|
-
|
120
|
-
#runner = Dante::Runner.new('flapjack-nagios-receiver',
|
121
|
-
# :pid_path => '/var/run/flapjack/flapjack-nagios-receiver.pid',
|
122
|
-
# :log_path => '/var/log/flapjack/flapjack-nagios-receiver.log')
|
123
|
-
|
124
|
-
|
125
|
-
if options.config
|
126
|
-
config_file = options.config
|
127
|
-
pike "specified config file cannot be read" unless File.readable?(config_file)
|
128
|
-
else
|
129
|
-
[ 'etc/flapjack_config.yaml',
|
130
|
-
File.dirname(__FILE__) + 'etc/flapjack_config.yaml',
|
131
|
-
'/etc/flapjack/flapjack_config.yaml' ].each do |candidate|
|
132
|
-
if File.readable?(candidate)
|
133
|
-
config_file = candidate
|
134
|
-
break
|
135
|
-
else
|
136
|
-
puts "not found and/or not readable: #{candidate}"
|
137
|
-
end
|
138
|
-
end
|
139
|
-
pike "no config file specified and none found in default locations" unless config_file
|
140
|
-
end
|
118
|
+
FLAPJACK_ENV = ENV['FLAPJACK_ENV'] || 'production'
|
141
119
|
|
142
120
|
config = Flapjack::Configuration.new
|
143
|
-
config.load(
|
121
|
+
config.load(options.config)
|
144
122
|
config_env = config.all
|
145
123
|
redis_options = config.for_redis
|
146
124
|
|
data/bin/flapjack-populator
CHANGED
@@ -19,7 +19,7 @@ require 'flapjack/data/entity'
|
|
19
19
|
require 'flapjack/data/event'
|
20
20
|
|
21
21
|
options = OpenStruct.new
|
22
|
-
options.config =
|
22
|
+
options.config = Flapjack::Configuration::DEFAULT_CONFIG_PATH
|
23
23
|
options.daemonize = nil
|
24
24
|
|
25
25
|
command = ARGV.shift
|
@@ -44,7 +44,7 @@ OptionParser.new do |opts|
|
|
44
44
|
|
45
45
|
end.parse!(ARGV)
|
46
46
|
|
47
|
-
FLAPJACK_ENV = ENV['FLAPJACK_ENV'] || '
|
47
|
+
FLAPJACK_ENV = ENV['FLAPJACK_ENV'] || 'production'
|
48
48
|
|
49
49
|
config = Flapjack::Configuration.new
|
50
50
|
config.load(options.config)
|
data/bin/flapper
CHANGED
@@ -25,10 +25,9 @@ ensure
|
|
25
25
|
Socket.do_not_reverse_lookup = orig
|
26
26
|
end
|
27
27
|
|
28
|
-
def main
|
28
|
+
def main(bind_ip)
|
29
29
|
start_every = 120
|
30
30
|
stop_after = 60
|
31
|
-
bind_ip = local_ip
|
32
31
|
bind_port = 12345
|
33
32
|
EM.run {
|
34
33
|
|
@@ -71,24 +70,24 @@ OptionParser.new do |opts|
|
|
71
70
|
options.daemonize = d
|
72
71
|
end
|
73
72
|
|
74
|
-
opts.on("-p", "--pidfile [PATH]", String, "PATH to the pidfile to write to") do |
|
75
|
-
options.pidfile =
|
73
|
+
opts.on("-p", "--pidfile [PATH]", String, "PATH to the pidfile to write to") do |pid|
|
74
|
+
options.pidfile = pid
|
76
75
|
end
|
77
76
|
|
78
77
|
opts.on("-l", "--logfile [PATH]", String, "PATH to the logfile to write to") do |l|
|
79
78
|
options.log_path = l
|
80
79
|
end
|
81
|
-
end.parse!(ARGV)
|
82
80
|
|
83
|
-
|
84
|
-
|
85
|
-
|
81
|
+
opts.on("-b", "--bind-ip [ADDRESS]", String, "ADDRESS (IPv4 or IPv6) for flapper to bind to") do |b|
|
82
|
+
options.bind_ip = b
|
83
|
+
end
|
86
84
|
|
87
|
-
|
88
|
-
"/var/log/flapjack/#{exe}.log" :
|
89
|
-
options.logfile
|
85
|
+
end.parse!(ARGV)
|
90
86
|
|
87
|
+
pidfile = options.pidfile || "/var/run/flapjack/#{exe}.pid"
|
88
|
+
logfile = options.log_path || "/var/log/flapjack/#{exe}.log"
|
91
89
|
daemonize = options.daemonize.nil? ? true : options.daemonize
|
90
|
+
bind_ip = options.bind_ip || local_ip
|
92
91
|
|
93
92
|
runner = Dante::Runner.new(exe, :pid_path => pidfile, :log_path => logfile)
|
94
93
|
|
@@ -100,7 +99,7 @@ when "start"
|
|
100
99
|
else
|
101
100
|
print "#{exe} starting..."
|
102
101
|
runner.execute(:daemonize => daemonize) {
|
103
|
-
main
|
102
|
+
main(bind_ip)
|
104
103
|
}
|
105
104
|
puts " done."
|
106
105
|
end
|
@@ -118,12 +117,12 @@ when "stop"
|
|
118
117
|
when "restart"
|
119
118
|
print "#{exe} restarting..."
|
120
119
|
runner.execute(:daemonize => true, :restart => true) {
|
121
|
-
main
|
120
|
+
main(bind_ip)
|
122
121
|
}
|
123
122
|
puts " done."
|
124
123
|
|
125
124
|
when "status"
|
126
|
-
uptime = (runner.daemon_running?) ? Time.now - File.stat(pidfile).ctime : 0
|
125
|
+
uptime = (runner.daemon_running?) ? (Time.now - File.stat(pidfile).ctime) : 0
|
127
126
|
if runner.daemon_running?
|
128
127
|
puts "#{exe} is running: #{uptime}"
|
129
128
|
else
|
data/bin/receive-events
CHANGED
@@ -91,7 +91,7 @@ def get_archive_keys_stats(source_redis)
|
|
91
91
|
end
|
92
92
|
|
93
93
|
options = OpenStruct.new
|
94
|
-
options.config =
|
94
|
+
options.config = Flapjack::Configuration::DEFAULT_CONFIG_PATH
|
95
95
|
options.daemonize = nil
|
96
96
|
|
97
97
|
exe = File.basename(__FILE__)
|
@@ -132,27 +132,10 @@ optparse = OptionParser.new do |opts|
|
|
132
132
|
end
|
133
133
|
optparse.parse!(ARGV)
|
134
134
|
|
135
|
-
FLAPJACK_ENV = ENV['FLAPJACK_ENV'] || '
|
136
|
-
|
137
|
-
if options.config
|
138
|
-
config_file = options.config
|
139
|
-
pike "specified config file cannot be read" unless File.readable?(config_file)
|
140
|
-
else
|
141
|
-
[ 'etc/flapjack_config.yaml',
|
142
|
-
File.dirname(__FILE__) + 'etc/flapjack_config.yaml',
|
143
|
-
'/etc/flapjack/flapjack_config.yaml' ].each do |candidate|
|
144
|
-
if File.readable?(candidate)
|
145
|
-
config_file = candidate
|
146
|
-
break
|
147
|
-
else
|
148
|
-
puts "not found and/or not readable: #{candidate}"
|
149
|
-
end
|
150
|
-
end
|
151
|
-
pike "no config file specified and none found in default locations" unless config_file
|
152
|
-
end
|
135
|
+
FLAPJACK_ENV = ENV['FLAPJACK_ENV'] || 'production'
|
153
136
|
|
154
137
|
config = Flapjack::Configuration.new
|
155
|
-
config.load(
|
138
|
+
config.load(options.config)
|
156
139
|
config_env = config.all
|
157
140
|
redis_options = config.for_redis
|
158
141
|
|
data/bin/simulate-failed-check
CHANGED
@@ -63,7 +63,7 @@ end
|
|
63
63
|
|
64
64
|
|
65
65
|
options = OpenStruct.new
|
66
|
-
options.config =
|
66
|
+
options.config = Flapjack::Configuration::DEFAULT_CONFIG_PATH
|
67
67
|
options.daemonize = nil
|
68
68
|
|
69
69
|
exe = File.basename(__FILE__)
|
@@ -101,27 +101,10 @@ optparse = OptionParser.new do |opts|
|
|
101
101
|
end
|
102
102
|
optparse.parse!(ARGV)
|
103
103
|
|
104
|
-
FLAPJACK_ENV = ENV['FLAPJACK_ENV'] || '
|
105
|
-
|
106
|
-
if options.config
|
107
|
-
config_file = options.config
|
108
|
-
pike "specified config file cannot be read" unless File.readable?(config_file)
|
109
|
-
else
|
110
|
-
[ 'etc/flapjack_config.yaml',
|
111
|
-
File.dirname(__FILE__) + 'etc/flapjack_config.yaml',
|
112
|
-
'/etc/flapjack/flapjack_config.yaml' ].each do |candidate|
|
113
|
-
if File.readable?(candidate)
|
114
|
-
config_file = candidate
|
115
|
-
break
|
116
|
-
else
|
117
|
-
puts "not found and/or not readable: #{candidate}"
|
118
|
-
end
|
119
|
-
end
|
120
|
-
pike "no config file specified and none found in default locations" unless config_file
|
121
|
-
end
|
104
|
+
FLAPJACK_ENV = ENV['FLAPJACK_ENV'] || 'production'
|
122
105
|
|
123
106
|
config = Flapjack::Configuration.new
|
124
|
-
config.load(
|
107
|
+
config.load(options.config)
|
125
108
|
config_env = config.all
|
126
109
|
redis_options = config.for_redis
|
127
110
|
|
@@ -1,70 +1,58 @@
|
|
1
1
|
---
|
2
2
|
|
3
|
-
|
4
|
-
pid_file:
|
5
|
-
log_file: log/flapjack.log
|
6
|
-
daemonize:
|
3
|
+
production:
|
4
|
+
pid_file: /var/run/flapjack/flapjack.pid
|
5
|
+
log_file: /var/log/flapjack/flapjack.log
|
6
|
+
daemonize: yes
|
7
7
|
redis:
|
8
8
|
host: 127.0.0.1
|
9
9
|
port: 6379
|
10
|
-
db:
|
10
|
+
db: 0
|
11
11
|
processor:
|
12
|
-
enabled:
|
12
|
+
enabled: yes
|
13
13
|
queue: events
|
14
14
|
notifier_queue: notifications
|
15
15
|
archive_events: true
|
16
16
|
events_archive_maxage: 10800
|
17
|
-
new_check_scheduled_maintenance_duration:
|
17
|
+
new_check_scheduled_maintenance_duration: 100 years
|
18
18
|
logger:
|
19
19
|
level: INFO
|
20
20
|
notifier:
|
21
|
-
enabled: no
|
22
|
-
queue: notifications
|
23
|
-
email_queue: email_notifications
|
24
|
-
sms_queue: sms_notifications
|
25
|
-
jabber_queue: jabber_notifications
|
26
|
-
pagerduty_queue: pagerduty_notifications
|
27
|
-
notification_log_file: log/notification.log
|
28
|
-
default_contact_timezone: Australia/Broken_Hill
|
29
|
-
logger:
|
30
|
-
level: INFO
|
31
|
-
executive:
|
32
21
|
enabled: yes
|
22
|
+
queue: notifications
|
33
23
|
email_queue: email_notifications
|
34
24
|
sms_queue: sms_notifications
|
35
25
|
jabber_queue: jabber_notifications
|
36
26
|
pagerduty_queue: pagerduty_notifications
|
37
|
-
notification_log_file: log/notification.log
|
38
|
-
default_contact_timezone:
|
39
|
-
archive_events: true
|
40
|
-
events_archive_maxage: 10800
|
41
|
-
new_check_scheduled_maintenance_duration: 1 month
|
27
|
+
notification_log_file: /var/log/flapjack/notification.log
|
28
|
+
default_contact_timezone: UTC
|
42
29
|
logger:
|
43
30
|
level: INFO
|
44
31
|
gateways:
|
45
32
|
email:
|
46
|
-
enabled:
|
33
|
+
enabled: no
|
47
34
|
queue: email_notifications
|
48
35
|
logger:
|
49
36
|
level: INFO
|
50
37
|
smtp_config:
|
51
|
-
port
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
#
|
56
|
-
#
|
57
|
-
#
|
58
|
-
#
|
38
|
+
# port 1025 is the default port for http://mailcatcher.me
|
39
|
+
host: 127.0.0.1
|
40
|
+
port: 1025
|
41
|
+
starttls: false
|
42
|
+
#auth:
|
43
|
+
# type:
|
44
|
+
# username:
|
45
|
+
# password:
|
59
46
|
sms:
|
60
|
-
enabled:
|
47
|
+
enabled: no
|
61
48
|
queue: sms_notifications
|
49
|
+
endpoint: 'https://www.messagenet.com.au/dotnet/Lodge.asmx/LodgeSMSMessage'
|
62
50
|
username: "ermahgerd"
|
63
51
|
password: "xxxx"
|
64
52
|
logger:
|
65
53
|
level: INFO
|
66
54
|
jabber:
|
67
|
-
enabled:
|
55
|
+
enabled: no
|
68
56
|
queue: jabber_notifications
|
69
57
|
server: "jabber.domain.tld"
|
70
58
|
port: 5222
|
@@ -77,7 +65,7 @@ development:
|
|
77
65
|
logger:
|
78
66
|
level: INFO
|
79
67
|
oobetet:
|
80
|
-
enabled:
|
68
|
+
enabled: no
|
81
69
|
server: "jabber.domain.tld"
|
82
70
|
port: 5222
|
83
71
|
jabberid: "flapjacktest@jabber.domain.tld"
|
@@ -94,78 +82,78 @@ development:
|
|
94
82
|
logger:
|
95
83
|
level: INFO
|
96
84
|
pagerduty:
|
97
|
-
enabled:
|
85
|
+
enabled: no
|
98
86
|
queue: pagerduty_notifications
|
99
87
|
logger:
|
100
88
|
level: INFO
|
101
89
|
web:
|
102
90
|
enabled: yes
|
103
|
-
port:
|
91
|
+
port: 3080
|
104
92
|
timeout: 300
|
105
|
-
access_log: "log/web_access.log"
|
93
|
+
access_log: "/var/log/flapjack/web_access.log"
|
106
94
|
logger:
|
107
95
|
level: INFO
|
108
96
|
api:
|
109
97
|
enabled: yes
|
110
|
-
port:
|
98
|
+
port: 3081
|
111
99
|
timeout: 300
|
112
|
-
access_log: "log/api_access.log"
|
100
|
+
access_log: "/var/log/flapjack/api_access.log"
|
113
101
|
logger:
|
114
102
|
level: INFO
|
115
103
|
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
email:
|
121
|
-
instances: 1
|
122
|
-
sms:
|
123
|
-
instances: 1
|
124
|
-
username: "ermahgerd"
|
125
|
-
password: "xxxx"
|
126
|
-
web:
|
127
|
-
instances: 1
|
128
|
-
|
129
|
-
staging:
|
130
|
-
redis:
|
131
|
-
database: 15
|
132
|
-
gateways:
|
133
|
-
email:
|
134
|
-
instances: 1
|
135
|
-
sms:
|
136
|
-
instances: 1
|
137
|
-
username: "ermahgerd"
|
138
|
-
password: "xxxx"
|
139
|
-
web:
|
140
|
-
instances: 1
|
141
|
-
|
142
|
-
production:
|
143
|
-
redis:
|
144
|
-
database: 12
|
145
|
-
gateways:
|
146
|
-
email:
|
147
|
-
instances: 1
|
148
|
-
sms:
|
149
|
-
instances: 1
|
150
|
-
username: "ermahgerd"
|
151
|
-
password: "xxxx"
|
152
|
-
web:
|
153
|
-
instances: 1
|
154
|
-
|
155
|
-
profile:
|
104
|
+
development:
|
105
|
+
pid_file: tmp/pids/flapjack.pid
|
106
|
+
log_file: log/flapjack.log
|
107
|
+
daemonize: yes
|
156
108
|
redis:
|
157
109
|
host: 127.0.0.1
|
158
110
|
port: 6379
|
159
|
-
db:
|
160
|
-
|
111
|
+
db: 13
|
112
|
+
processor:
|
113
|
+
enabled: yes
|
114
|
+
queue: events
|
115
|
+
notifier_queue: notifications
|
116
|
+
archive_events: true
|
117
|
+
events_archive_maxage: 10800
|
118
|
+
new_check_scheduled_maintenance_duration: 100 years
|
119
|
+
logger:
|
120
|
+
level: DEBUG
|
121
|
+
notifier:
|
161
122
|
enabled: yes
|
162
|
-
|
123
|
+
queue: notifications
|
124
|
+
email_queue: email_notifications
|
125
|
+
sms_queue: sms_notifications
|
126
|
+
jabber_queue: jabber_notifications
|
127
|
+
pagerduty_queue: pagerduty_notifications
|
128
|
+
notification_log_file: log/notification.log
|
129
|
+
default_contact_timezone: UTC
|
130
|
+
logger:
|
131
|
+
level: DEBUG
|
163
132
|
gateways:
|
164
133
|
email:
|
165
134
|
enabled: no
|
166
135
|
queue: email_notifications
|
136
|
+
logger:
|
137
|
+
level: INFO
|
138
|
+
smtp_config:
|
139
|
+
# port 1025 is the default port for http://mailcatcher.me
|
140
|
+
host: 127.0.0.1
|
141
|
+
port: 1025
|
142
|
+
starttls: false
|
143
|
+
#auth:
|
144
|
+
# type:
|
145
|
+
# username:
|
146
|
+
# password:
|
147
|
+
sms:
|
148
|
+
enabled: no
|
149
|
+
queue: sms_notifications
|
150
|
+
endpoint: 'https://www.messagenet.com.au/dotnet/Lodge.asmx/LodgeSMSMessage'
|
151
|
+
username: "ermahgerd"
|
152
|
+
password: "xxxx"
|
153
|
+
logger:
|
154
|
+
level: INFO
|
167
155
|
jabber:
|
168
|
-
enabled:
|
156
|
+
enabled: no
|
169
157
|
queue: jabber_notifications
|
170
158
|
server: "jabber.domain.tld"
|
171
159
|
port: 5222
|
@@ -175,6 +163,51 @@ profile:
|
|
175
163
|
rooms:
|
176
164
|
- "gimp@conference.jabber.domain.tld"
|
177
165
|
- "log@conference.jabber.domain.tld"
|
178
|
-
|
166
|
+
logger:
|
167
|
+
level: INFO
|
168
|
+
oobetet:
|
169
|
+
enabled: no
|
170
|
+
server: "jabber.domain.tld"
|
171
|
+
port: 5222
|
172
|
+
jabberid: "flapjacktest@jabber.domain.tld"
|
173
|
+
password: "nuther-good-password"
|
174
|
+
alias: "flapjacktest"
|
175
|
+
watched_check: "PING"
|
176
|
+
watched_entity: "foo.bar.net"
|
177
|
+
max_latency: 300
|
178
|
+
pagerduty_contact: "11111111111111111111111111111111"
|
179
|
+
rooms:
|
180
|
+
- "flapjacktest@conference.jabber.domain.tld"
|
181
|
+
- "gimp@conference.jabber.domain.tld"
|
182
|
+
- "log@conference.jabber.domain.tld"
|
183
|
+
logger:
|
184
|
+
level: INFO
|
185
|
+
pagerduty:
|
179
186
|
enabled: no
|
180
|
-
|
187
|
+
queue: pagerduty_notifications
|
188
|
+
logger:
|
189
|
+
level: INFO
|
190
|
+
web:
|
191
|
+
enabled: yes
|
192
|
+
port: 4080
|
193
|
+
timeout: 300
|
194
|
+
access_log: "log/web_access.log"
|
195
|
+
logger:
|
196
|
+
level: INFO
|
197
|
+
api:
|
198
|
+
enabled: yes
|
199
|
+
port: 4081
|
200
|
+
timeout: 300
|
201
|
+
access_log: "log/api_access.log"
|
202
|
+
logger:
|
203
|
+
level: INFO
|
204
|
+
|
205
|
+
|
206
|
+
test:
|
207
|
+
redis:
|
208
|
+
database: 14
|
209
|
+
|
210
|
+
staging:
|
211
|
+
redis:
|
212
|
+
database: 15
|
213
|
+
|