my_nagios 0.0.13 → 0.0.14
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 08675c59ec122b34650ee7c21c7218af30ef7d3f
|
4
|
+
data.tar.gz: 6f9e8ea47b9b8479717f96071bb8d61fadfcf0d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 78340047fcaa7568bbafc843576160fc8e93606afd41def2ec9ab1bd9c27162dde607d13f4c6cba86ee16404955784285ba53a18a8b27087aa5b37b70ff3b0c8
|
7
|
+
data.tar.gz: d958f8248b1c8891990cc9fab96c858fd41e7f219930a54622618d2d0e7e8c910782bf074449cb36f3c59ea44cbb21e666c83eb1126b4d63f26799307f76adeb
|
@@ -3,7 +3,7 @@ require_dependency "my_nagios/application_controller"
|
|
3
3
|
module MyNagios
|
4
4
|
class ChecksController < ApplicationController
|
5
5
|
before_filter :find_check, only: [:run_now, :toggle, :edit, :update]
|
6
|
-
before_filter :find_groups, only: [:create, :edit]
|
6
|
+
before_filter :find_groups, only: [:new, :create, :edit]
|
7
7
|
|
8
8
|
def new
|
9
9
|
@check = Check.new
|
@@ -49,7 +49,7 @@ module MyNagios
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def params_check
|
52
|
-
params.require(:check).permit(:host, :user, :pem_key, :description, :interval, :command, :regexp, :group_id)
|
52
|
+
params.require(:check).permit(:host, :user, :pem_key, :description, :interval, :command, :additional_command, :regexp, :group_id)
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
@@ -7,13 +7,19 @@ module MyNagios
|
|
7
7
|
|
8
8
|
scope :enabled, -> { where(enabled: true) }
|
9
9
|
|
10
|
+
attr_accessor :additional_command_result
|
11
|
+
|
10
12
|
def run!
|
11
13
|
begin
|
12
14
|
self.update(state: :running)
|
13
15
|
|
14
16
|
Net::SSH.start( self.host, self.user, config: true, keys: [self.pem_key], non_interactive: true ) do| ssh |
|
15
17
|
result = ssh.exec! self.command
|
16
|
-
|
18
|
+
status = self.determinate_status_by_response(result)
|
19
|
+
|
20
|
+
self.additional_command_result = ssh.exec!(self.additional_command) if not self.additional_command.blank? and status.eql?(:critical)
|
21
|
+
|
22
|
+
self.update(state: :completed, status: status, latest_state: result, latest_updated_at: Time.now)
|
17
23
|
end
|
18
24
|
rescue => e
|
19
25
|
self.update(state: :completed, status: :info, latest_state: e, latest_updated_at: Time.now)
|
@@ -29,7 +35,11 @@ module MyNagios
|
|
29
35
|
Net::SSH.start( config['host'], config['user'], config: true, keys: [config['pem_key']], non_interactive: true ) do |ssh|
|
30
36
|
check_list.each do |check|
|
31
37
|
result = ssh.exec! check.command
|
32
|
-
|
38
|
+
status = check.determinate_status_by_response(result)
|
39
|
+
|
40
|
+
check.additional_command_result = ssh.exec!(check.additional_command) if not check.additional_command.blank? and status.eql?(:critical)
|
41
|
+
|
42
|
+
check.update(state: :completed, status: status, latest_state: result, latest_updated_at: Time.now)
|
33
43
|
end
|
34
44
|
end
|
35
45
|
|
@@ -36,6 +36,11 @@
|
|
36
36
|
.col-sm-10
|
37
37
|
=f.text_field :command, class: 'form-control'
|
38
38
|
|
39
|
+
.form-group
|
40
|
+
=f.label :additional_command, 'Additional command (runs if command is fail)', class: 'col-sm-1 control-label'
|
41
|
+
.col-sm-10
|
42
|
+
=f.text_field :additional_command, class: 'form-control'
|
43
|
+
|
39
44
|
.form-group
|
40
45
|
=f.label :regexp, 'Critical if match:', class: 'col-sm-1 control-label'
|
41
46
|
.col-sm-10
|
data/lib/my_nagios/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: my_nagios
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vitaly Omelchenko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -193,6 +193,7 @@ files:
|
|
193
193
|
- db/migrate/20160503110437_create_my_nagios_checks.rb
|
194
194
|
- db/migrate/20160503110441_create_my_nagios_groups.rb
|
195
195
|
- db/migrate/20160601081654_add_regexp_to_check.rb
|
196
|
+
- db/migrate/20160621080454_additional_command.rb
|
196
197
|
- lib/my_nagios.rb
|
197
198
|
- lib/my_nagios/engine.rb
|
198
199
|
- lib/my_nagios/version.rb
|