hq-log-monitor-server 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: bfda1ba9bd07b614386fbbe81d5ae684f27546d7
4
+ data.tar.gz: 4d8f1edeca2d2b2677cebefbfd02d43133deb621
5
+ SHA512:
6
+ metadata.gz: 3925e0e724c6698c010b57058822afe3a3801e59d572a60505273679c456c68a8cf0f0844ab0db041711ced0d4d5347547b8ada0fbbcc73d8970e805f9f76306
7
+ data.tar.gz: 1b23c181c2fb0a784b5bbfe41811d7b757154eb5e4fd1bbf7b61c09d7f1341b0ff824e2bf38904685df8529038a6b63dcd4a4f257ba186aedb68a3ba4dd8a01b
@@ -17,6 +17,8 @@ Feature: Log monitor server submit event via HTTP
17
17
  </log-monitor-server-config>
18
18
  """
19
19
 
20
+ And the time is 123456
21
+
20
22
  Scenario: Submit event
21
23
 
22
24
  When I submit the following event:
@@ -47,5 +49,5 @@ Feature: Log monitor server submit event via HTTP
47
49
  """
48
50
  And icinga should receive:
49
51
  """
50
- PROCESS_SERVICE_CHECK_RESULT;host;service;1;WARNING 1 warning
52
+ [123456] PROCESS_SERVICE_CHECK_RESULT;host;service;1;WARNING 1 warning
51
53
  """
@@ -1,4 +1,5 @@
1
1
  require "capybara/cucumber"
2
+ require "cucumber/rspec/doubles"
2
3
  require "mongo"
3
4
  require "net/http"
4
5
 
@@ -34,6 +34,13 @@ Given /^the log monitor server config:$/ do
34
34
 
35
35
  end
36
36
 
37
+ Given /^the time is (\d+)$/ do
38
+ |time_str|
39
+
40
+ Time.stub(:now).and_return { Time.at time_str.to_i }
41
+
42
+ end
43
+
37
44
  After do
38
45
 
39
46
  @log_monitor_server_script.stop \
@@ -85,84 +85,84 @@ class Script
85
85
  warning_count = 0
86
86
  unknown_count = 0
87
87
 
88
- summaries = summaries_by_service[service_name]
89
-
90
- next unless summaries
91
-
92
- summaries["types"].each do
93
- |type_name, type_info|
94
-
95
- type_elem =
96
- service_elem.find_first("
97
- type [@name = #{esc_xp type_name}]
98
- ")
99
-
100
- if ! type_elem
101
- unknown_count += 1
102
- elsif type_elem["level"] == "critical"
103
- critical_count += 1
104
- elsif type_elem["level"] == "warning"
105
- warning_count += 1
106
- else
107
- unknown_count += 1
108
- end
109
-
110
- status_int =
111
- if critical_count > 0
112
- 2
113
- elsif warning_count > 0
114
- 1
115
- elsif unknown_count > 0
116
- 3
88
+ summaries =
89
+ summaries_by_service[service_name]
90
+
91
+ if summaries
92
+ summaries["types"].each do
93
+ |type_name, type_info|
94
+
95
+ type_elem =
96
+ service_elem.find_first("
97
+ type [@name = #{esc_xp type_name}]
98
+ ")
99
+
100
+ if ! type_elem
101
+ unknown_count += 1
102
+ elsif type_elem["level"] == "critical"
103
+ critical_count += 1
104
+ elsif type_elem["level"] == "warning"
105
+ warning_count += 1
117
106
  else
118
- 0
107
+ unknown_count += 1
119
108
  end
109
+ end
110
+ end
120
111
 
121
- status_str =
122
- if critical_count > 0
123
- "CRITICAL"
124
- elsif warning_count > 0
125
- "WARNING"
126
- elsif unknown_count > 0
127
- "UNKNOWN"
128
- else
129
- "OK"
130
- end
131
-
132
- parts = []
133
-
112
+ status_int =
134
113
  if critical_count > 0
135
- parts << "%d critical" % critical_count
114
+ 2
115
+ elsif warning_count > 0
116
+ 1
117
+ elsif unknown_count > 0
118
+ 3
119
+ else
120
+ 0
136
121
  end
137
122
 
138
- if warning_count > 0
139
- parts << "%d warning" % warning_count
123
+ status_str =
124
+ if critical_count > 0
125
+ "CRITICAL"
126
+ elsif warning_count > 0
127
+ "WARNING"
128
+ elsif unknown_count > 0
129
+ "UNKNOWN"
130
+ else
131
+ "OK"
140
132
  end
141
133
 
142
- if unknown_count > 0
143
- parts << "%d unknown" % unknown_count
144
- end
134
+ parts = []
145
135
 
146
- if parts.empty?
147
- parts << "no new events"
148
- end
136
+ if critical_count > 0
137
+ parts << "%d critical" % critical_count
138
+ end
139
+
140
+ if warning_count > 0
141
+ parts << "%d warning" % warning_count
142
+ end
143
+
144
+ if unknown_count > 0
145
+ parts << "%d unknown" % unknown_count
146
+ end
147
+
148
+ if parts.empty?
149
+ parts << "no new events"
150
+ end
149
151
 
150
- message = "%s %s" % [
151
- status_str,
152
- parts.join(", "),
153
- ]
154
152
 
155
- command = [
153
+ command_io.print "[%s] %s\n" % [
154
+ Time.now.to_i,
155
+ [
156
156
  "PROCESS_SERVICE_CHECK_RESULT",
157
157
  service_elem["icinga-host"],
158
158
  service_elem["icinga-service"],
159
159
  status_int,
160
- message,
161
- ].join ";"
162
-
163
- command_io.print "%s\n" % command
164
-
165
- end
160
+ "%s %s" % [
161
+ status_str,
162
+ parts.join(", "),
163
+ ]
164
+ ].join(";"),
165
+ ]
166
166
 
167
167
  end
168
168
 
metadata CHANGED
@@ -1,206 +1,181 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hq-log-monitor-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
5
- prerelease:
4
+ version: 0.2.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - James Pharaoh
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-04-19 00:00:00.000000000 Z
11
+ date: 2013-04-30 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bson_ext
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: 1.8.2
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: 1.8.2
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: hq-tools
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: 0.2.0
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: 0.2.0
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: libxml-ruby
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: 2.6.0
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: 2.6.0
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: mongo
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: 1.8.2
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: 1.8.2
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: multi_json
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - '>='
84
74
  - !ruby/object:Gem::Version
85
75
  version: 1.6.1
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - '>='
92
81
  - !ruby/object:Gem::Version
93
82
  version: 1.6.1
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: rack
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - '>='
100
88
  - !ruby/object:Gem::Version
101
89
  version: 1.5.1
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - '>='
108
95
  - !ruby/object:Gem::Version
109
96
  version: 1.5.1
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: capybara
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - '>='
116
102
  - !ruby/object:Gem::Version
117
103
  version: 2.0.2
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - '>='
124
109
  - !ruby/object:Gem::Version
125
110
  version: 2.0.2
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: cucumber
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ! '>='
115
+ - - '>='
132
116
  - !ruby/object:Gem::Version
133
117
  version: 1.2.1
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
- - - ! '>='
122
+ - - '>='
140
123
  - !ruby/object:Gem::Version
141
124
  version: 1.2.1
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: rake
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
- - - ! '>='
129
+ - - '>='
148
130
  - !ruby/object:Gem::Version
149
131
  version: 10.0.3
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
- - - ! '>='
136
+ - - '>='
156
137
  - !ruby/object:Gem::Version
157
138
  version: 10.0.3
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: rspec
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
- - - ! '>='
143
+ - - '>='
164
144
  - !ruby/object:Gem::Version
165
145
  version: 2.12.0
166
146
  type: :development
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
- - - ! '>='
150
+ - - '>='
172
151
  - !ruby/object:Gem::Version
173
152
  version: 2.12.0
174
153
  - !ruby/object:Gem::Dependency
175
154
  name: rspec_junit_formatter
176
155
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
156
  requirements:
179
- - - ! '>='
157
+ - - '>='
180
158
  - !ruby/object:Gem::Version
181
159
  version: '0'
182
160
  type: :development
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
163
  requirements:
187
- - - ! '>='
164
+ - - '>='
188
165
  - !ruby/object:Gem::Version
189
166
  version: '0'
190
167
  - !ruby/object:Gem::Dependency
191
168
  name: simplecov
192
169
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
170
  requirements:
195
- - - ! '>='
171
+ - - '>='
196
172
  - !ruby/object:Gem::Version
197
173
  version: '0'
198
174
  type: :development
199
175
  prerelease: false
200
176
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
177
  requirements:
203
- - - ! '>='
178
+ - - '>='
204
179
  - !ruby/object:Gem::Version
205
180
  version: '0'
206
181
  description: HQ log monitor system, central component
@@ -219,27 +194,26 @@ files:
219
194
  - bin/hq-log-monitor-server
220
195
  homepage: https://github.com/jamespharaoh/hq-log-monitor-server
221
196
  licenses: []
197
+ metadata: {}
222
198
  post_install_message:
223
199
  rdoc_options: []
224
200
  require_paths:
225
201
  - lib
226
202
  required_ruby_version: !ruby/object:Gem::Requirement
227
- none: false
228
203
  requirements:
229
- - - ! '>='
204
+ - - '>='
230
205
  - !ruby/object:Gem::Version
231
206
  version: '0'
232
207
  required_rubygems_version: !ruby/object:Gem::Requirement
233
- none: false
234
208
  requirements:
235
- - - ! '>='
209
+ - - '>='
236
210
  - !ruby/object:Gem::Version
237
211
  version: 1.3.6
238
212
  requirements: []
239
213
  rubyforge_project: hq-log-monitor-server
240
- rubygems_version: 1.8.23
214
+ rubygems_version: 2.0.3
241
215
  signing_key:
242
- specification_version: 3
216
+ specification_version: 4
243
217
  summary: HQ log monitor server
244
218
  test_files:
245
219
  - features/submit-event.feature