monittr 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/monittr/sinatra/template.erb +6 -4
- data/lib/monittr/version.rb +1 -1
- data/lib/monittr.rb +7 -4
- data/test/monittr_test.rb +9 -0
- metadata +38 -7
@@ -108,10 +108,12 @@ $(function() {
|
|
108
108
|
$(this).removeClass('expanded').find('.content').hide('fast', function() { });
|
109
109
|
});
|
110
110
|
|
111
|
-
$('#monittr .server h2').
|
112
|
-
function() {
|
113
|
-
|
114
|
-
|
111
|
+
$('#monittr .server h2').click(
|
112
|
+
function(event) {
|
113
|
+
if ( event.target != this ) return true; // Enable clicking on links
|
114
|
+
$(this).parent().hasClass('expanded') ? $(this).parent().trigger('collapse') : $(this).parent().trigger('expand');
|
115
|
+
});
|
116
|
+
|
115
117
|
|
116
118
|
$('#toggle').toggle(
|
117
119
|
function() {
|
data/lib/monittr/version.rb
CHANGED
data/lib/monittr.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'nokogiri'
|
2
2
|
require 'rest-client'
|
3
3
|
require 'ostruct'
|
4
|
+
require 'timeout'
|
4
5
|
|
5
6
|
module Monittr
|
6
7
|
|
@@ -45,10 +46,12 @@ module Monittr
|
|
45
46
|
# Retrieve Monit status XML from the URL
|
46
47
|
#
|
47
48
|
def self.fetch(url='http://admin:monit@localhost:2812')
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
49
|
+
Timeout::timeout(1) do
|
50
|
+
monit_url = url
|
51
|
+
monit_url += '/' unless url =~ /\/$/
|
52
|
+
monit_url += '_status?format=xml' unless url =~ /_status\?format=xml$/
|
53
|
+
self.new url, RestClient.get(monit_url)
|
54
|
+
end
|
52
55
|
rescue Exception => e
|
53
56
|
self.new url, %Q|<error status="3" name="#{e.class}" message="#{e.message}" />|
|
54
57
|
end
|
data/test/monittr_test.rb
CHANGED
@@ -37,6 +37,15 @@ module Monittr
|
|
37
37
|
assert_equal '500 Internal Server Error', cluster.servers.first.system.message
|
38
38
|
end
|
39
39
|
|
40
|
+
should "timeout properly for non-responding URLs" do
|
41
|
+
RestClient.expects(:get).raises(Timeout::Error)
|
42
|
+
cluster = Monittr::Cluster.new %w[ http://admin:monit@localhost:2812 ]
|
43
|
+
assert_not_nil cluster.servers
|
44
|
+
assert_equal 1, cluster.servers.size
|
45
|
+
assert_equal 3, cluster.servers.first.system.status
|
46
|
+
assert_equal 'Timeout::Error', cluster.servers.first.system.name
|
47
|
+
end
|
48
|
+
|
40
49
|
end
|
41
50
|
|
42
51
|
context "Server" do
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: monittr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 19
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
9
|
+
- 6
|
10
|
+
version: 0.0.6
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Karel Minarik
|
@@ -14,16 +15,17 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date:
|
18
|
-
default_executable:
|
18
|
+
date: 2011-06-30 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: bundler
|
22
22
|
prerelease: false
|
23
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
24
25
|
requirements:
|
25
26
|
- - ~>
|
26
27
|
- !ruby/object:Gem::Version
|
28
|
+
hash: 23
|
27
29
|
segments:
|
28
30
|
- 1
|
29
31
|
- 0
|
@@ -35,9 +37,11 @@ dependencies:
|
|
35
37
|
name: rest-client
|
36
38
|
prerelease: false
|
37
39
|
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
38
41
|
requirements:
|
39
42
|
- - ">="
|
40
43
|
- !ruby/object:Gem::Version
|
44
|
+
hash: 3
|
41
45
|
segments:
|
42
46
|
- 0
|
43
47
|
version: "0"
|
@@ -47,9 +51,11 @@ dependencies:
|
|
47
51
|
name: nokogiri
|
48
52
|
prerelease: false
|
49
53
|
requirement: &id003 !ruby/object:Gem::Requirement
|
54
|
+
none: false
|
50
55
|
requirements:
|
51
56
|
- - ">="
|
52
57
|
- !ruby/object:Gem::Version
|
58
|
+
hash: 3
|
53
59
|
segments:
|
54
60
|
- 0
|
55
61
|
version: "0"
|
@@ -59,9 +65,11 @@ dependencies:
|
|
59
65
|
name: sinatra
|
60
66
|
prerelease: false
|
61
67
|
requirement: &id004 !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
62
69
|
requirements:
|
63
70
|
- - ">="
|
64
71
|
- !ruby/object:Gem::Version
|
72
|
+
hash: 3
|
65
73
|
segments:
|
66
74
|
- 0
|
67
75
|
version: "0"
|
@@ -71,9 +79,11 @@ dependencies:
|
|
71
79
|
name: shoulda
|
72
80
|
prerelease: false
|
73
81
|
requirement: &id005 !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
74
83
|
requirements:
|
75
84
|
- - ">="
|
76
85
|
- !ruby/object:Gem::Version
|
86
|
+
hash: 3
|
77
87
|
segments:
|
78
88
|
- 0
|
79
89
|
version: "0"
|
@@ -83,9 +93,11 @@ dependencies:
|
|
83
93
|
name: turn
|
84
94
|
prerelease: false
|
85
95
|
requirement: &id006 !ruby/object:Gem::Requirement
|
96
|
+
none: false
|
86
97
|
requirements:
|
87
98
|
- - ">="
|
88
99
|
- !ruby/object:Gem::Version
|
100
|
+
hash: 3
|
89
101
|
segments:
|
90
102
|
- 0
|
91
103
|
version: "0"
|
@@ -95,14 +107,30 @@ dependencies:
|
|
95
107
|
name: fakeweb
|
96
108
|
prerelease: false
|
97
109
|
requirement: &id007 !ruby/object:Gem::Requirement
|
110
|
+
none: false
|
98
111
|
requirements:
|
99
112
|
- - ">="
|
100
113
|
- !ruby/object:Gem::Version
|
114
|
+
hash: 3
|
101
115
|
segments:
|
102
116
|
- 0
|
103
117
|
version: "0"
|
104
118
|
type: :development
|
105
119
|
version_requirements: *id007
|
120
|
+
- !ruby/object:Gem::Dependency
|
121
|
+
name: mocha
|
122
|
+
prerelease: false
|
123
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
124
|
+
none: false
|
125
|
+
requirements:
|
126
|
+
- - ">="
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
hash: 3
|
129
|
+
segments:
|
130
|
+
- 0
|
131
|
+
version: "0"
|
132
|
+
type: :development
|
133
|
+
version_requirements: *id008
|
106
134
|
description: " Monittr provides a Ruby interface for loading and displaying statistics\n from multiple Monit instances and helpers for Sinatra web applications.\n"
|
107
135
|
email: karmi@karmi.cz
|
108
136
|
executables: []
|
@@ -128,7 +156,6 @@ files:
|
|
128
156
|
- examples/application.rb
|
129
157
|
- examples/monitrc
|
130
158
|
- examples/template.erb
|
131
|
-
has_rdoc: true
|
132
159
|
homepage: http://github.com/karmi/monittr
|
133
160
|
licenses: []
|
134
161
|
|
@@ -138,16 +165,20 @@ rdoc_options:
|
|
138
165
|
require_paths:
|
139
166
|
- lib
|
140
167
|
required_ruby_version: !ruby/object:Gem::Requirement
|
168
|
+
none: false
|
141
169
|
requirements:
|
142
170
|
- - ">="
|
143
171
|
- !ruby/object:Gem::Version
|
172
|
+
hash: 3
|
144
173
|
segments:
|
145
174
|
- 0
|
146
175
|
version: "0"
|
147
176
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
148
178
|
requirements:
|
149
179
|
- - ">="
|
150
180
|
- !ruby/object:Gem::Version
|
181
|
+
hash: 23
|
151
182
|
segments:
|
152
183
|
- 1
|
153
184
|
- 3
|
@@ -156,7 +187,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
156
187
|
requirements: []
|
157
188
|
|
158
189
|
rubyforge_project:
|
159
|
-
rubygems_version: 1.
|
190
|
+
rubygems_version: 1.8.5
|
160
191
|
signing_key:
|
161
192
|
specification_version: 3
|
162
193
|
summary: A Ruby and web interface for Monit statistics
|