auxesis-flapjack 0.4.9 → 0.4.10
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +9 -0
- data/TODO.md +1 -6
- data/bin/flapjack-notifier-manager +10 -3
- data/bin/flapjack-worker-manager +2 -0
- data/flapjack.gemspec +2 -2
- data/lib/flapjack/cli/notifier_manager.rb +28 -8
- data/lib/flapjack/cli/worker_manager.rb +4 -1
- metadata +2 -2
data/Rakefile
CHANGED
@@ -4,6 +4,15 @@ require 'rubygems'
|
|
4
4
|
require 'fileutils'
|
5
5
|
require 'spec/rake/spectask'
|
6
6
|
|
7
|
+
# integration tests for cli utils
|
8
|
+
begin
|
9
|
+
require 'cucumber/rake/task'
|
10
|
+
|
11
|
+
Cucumber::Rake::Task.new do |task|
|
12
|
+
task.cucumber_opts = "--require features/"
|
13
|
+
end
|
14
|
+
rescue LoadError
|
15
|
+
end
|
7
16
|
|
8
17
|
Spec::Rake::SpecTask.new do |t|
|
9
18
|
t.spec_opts = ["--options", "spec/spec.opts"]
|
data/TODO.md
CHANGED
@@ -1,14 +1,10 @@
|
|
1
|
-
* daemonise notifier - DONE
|
2
|
-
* provide config file for notifier
|
3
|
-
* specify which notifier plugins to load - DONE
|
4
|
-
* specify configuration for plugins (from address/xmmp login) - DONE
|
5
|
-
* write init scripts for notifier/worker-manager - DONE
|
6
1
|
* hook notifier into web interface
|
7
2
|
* update status of checks - DONE
|
8
3
|
* relationships + cascading notifications - DONE
|
9
4
|
* simple graphs
|
10
5
|
* event/result history
|
11
6
|
* build option to specify notifier(s) directory
|
7
|
+
* trigger populator from web interface
|
12
8
|
* documentation!
|
13
9
|
* user
|
14
10
|
* developer
|
@@ -17,7 +13,6 @@
|
|
17
13
|
* integrating with collectd guide
|
18
14
|
* writing custom populators guide
|
19
15
|
* write puppet manifests
|
20
|
-
* write chef cookbooks
|
21
16
|
* package with pallet
|
22
17
|
* generate .deb/.rpms
|
23
18
|
* build packages for gem dependencies
|
@@ -27,10 +27,17 @@ unless File.writable?(pid_dir)
|
|
27
27
|
exit 2
|
28
28
|
end
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
# construct arguments
|
31
|
+
daemon_args = args
|
32
|
+
if args.first != "stop"
|
33
|
+
# if we're not stopping the daemon, pass options to it
|
34
|
+
daemon_args += ['--', '--beanstalk', options.host,
|
35
|
+
'--port', options.port.to_s,
|
36
|
+
'--recipients', options.recipients,
|
37
|
+
'--config', File.expand_path(options.config_filename)]
|
38
|
+
end
|
33
39
|
|
40
|
+
# boot
|
34
41
|
Daemons.run(worker_path, :ARGV => daemon_args,
|
35
42
|
:multiple => false,
|
36
43
|
:dir_mode => :normal,
|
data/bin/flapjack-worker-manager
CHANGED
data/flapjack.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'flapjack'
|
3
|
-
s.version = '0.4.
|
4
|
-
s.date = '2009-07-
|
3
|
+
s.version = '0.4.10'
|
4
|
+
s.date = '2009-07-16'
|
5
5
|
|
6
6
|
s.summary = "a scalable and distributed monitoring system"
|
7
7
|
s.description = "Flapjack is highly scalable and distributed monitoring system. It understands the Nagios plugin format, and can easily be scaled from 1 server to 1000."
|
@@ -27,6 +27,9 @@ module Flapjack
|
|
27
27
|
opts.on('-r', '--recipients FILE', 'recipients file') do |recipients|
|
28
28
|
options.recipients = File.expand_path(recipients.to_s)
|
29
29
|
end
|
30
|
+
opts.on('-c', '--config FILE', 'config file') do |config|
|
31
|
+
options.config_filename = config.to_s
|
32
|
+
end
|
30
33
|
end
|
31
34
|
|
32
35
|
begin
|
@@ -41,18 +44,35 @@ module Flapjack
|
|
41
44
|
options.host ||= "localhost"
|
42
45
|
options.port ||= 11300
|
43
46
|
|
47
|
+
@errors = []
|
48
|
+
|
44
49
|
unless ARGV[0] == "stop"
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
50
|
+
if options.recipients
|
51
|
+
unless File.exists?(options.recipients)
|
52
|
+
@errors << "The specified recipients file doesn't exist!"
|
53
|
+
end
|
54
|
+
else
|
55
|
+
@errors << "You must specify a recipients file!"
|
49
56
|
end
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
57
|
+
|
58
|
+
if options.config_filename
|
59
|
+
unless File.exists?(options.config_filename)
|
60
|
+
@errors << "The specified config file dosen't exist!"
|
61
|
+
end
|
62
|
+
else
|
63
|
+
@errors << "You must specify a config file!"
|
54
64
|
end
|
55
65
|
end
|
66
|
+
|
67
|
+
if @errors.size > 0
|
68
|
+
puts "Errors:"
|
69
|
+
@errors.each do |error|
|
70
|
+
puts " - #{error}"
|
71
|
+
end
|
72
|
+
puts
|
73
|
+
puts opts
|
74
|
+
exit 2
|
75
|
+
end
|
56
76
|
|
57
77
|
unless %w(start stop restart).include?(args[0])
|
58
78
|
puts opts
|
@@ -20,11 +20,14 @@ class WorkerManagerOptions
|
|
20
20
|
opts.on('-w', '--workers N', 'number of workers to spin up') do |workers|
|
21
21
|
options.workers = workers.to_i
|
22
22
|
end
|
23
|
+
opts.on('-c', '--checks-directory DIR', 'sandboxed check directory') do |dir|
|
24
|
+
options.check_directory = dir
|
25
|
+
end
|
23
26
|
end
|
24
27
|
|
25
28
|
begin
|
26
29
|
opts.parse!(args)
|
27
|
-
rescue
|
30
|
+
rescue => e
|
28
31
|
puts e.message.capitalize + "\n\n"
|
29
32
|
puts opts
|
30
33
|
exit 1
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: auxesis-flapjack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lindsay Holmwood
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-07-
|
12
|
+
date: 2009-07-16 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|