sensu-plugins-logs 2.0.0 → 3.0.0

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
  SHA256:
3
- metadata.gz: d288a092b148c6797a5687b0ea786cd60a990aa16b164acb79f6a5f19e23bd7e
4
- data.tar.gz: 91b02e5ac5c243c5ba8ee30bee469123838320458272ce47a0c4b7b02e80f9e1
3
+ metadata.gz: c44dd4ef2de918ac705ee251a37f5e52172cc845b25f3a8ff3ae0b394a395b25
4
+ data.tar.gz: 1deab3e0ea3f7e80fa090d914248f97cf1db32beaeb12d3a90531fb3b80f99d4
5
5
  SHA512:
6
- metadata.gz: b519ade55705145b887612edb137bb4bbf9463c09a573b611d3ad872f0911cd10cc1216fb6e26ef31789e6bb4b933f3c28e73435b17322b87706b0d4f16287f8
7
- data.tar.gz: 254f5990069c2ee01c57892a9f9c65e66d81799e9dd08bb020282045ab544019c3276d03966386ac8fe60e46ae883d4899d970034aec74387e8aae844a316169
6
+ metadata.gz: 46468b7f7f0de3669d07b47cfb6ac57d02cb9de76a95f17252dc06fd05bbd22255f31f86b4d53ec80bb63c84bc9ebc919f4aedc162cf3fb01566159fd1487fb8
7
+ data.tar.gz: ec7e7f19260f4a434e4d6880a5a60b4bcec1a52d16c31d3570c762c55533e5ba694808401512810b672e4775a1575effde3cad54279dd0a8abe968392702efff
@@ -5,6 +5,25 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [3.0.0] - 2018-12-15
9
+ ### Breaking Changes
10
+ - updated to use sensu-plugin 3.0 with Sensu Go to Sensu Core 1.x migration option
11
+
12
+ ### Changes
13
+ - Update handler-logevent.rb to gracefully handle missing check and client definitions in events. Missing attributes will use 'unknown' fallback strings so that malformed events will still be captured in the event logging directory structure instead of erroring out. Useful for diagnosing problems with malformed events when migrating to Sensu Go. (@jspaleta)
14
+
15
+ ### Added
16
+ - add ruby 2.5.1 into travis automation (@jspaleta)
17
+
18
+ ### Fixed
19
+ - add rdoc to development dependancy to fix rake task errors ruby 2.5.1 (@jspaleta) (@dependabot)
20
+ - update dev dep for github-markup (@jspaleta) (@dependabot)
21
+ - update dev dep for codeclimate-test-reporter (@jspaleta) (@dependabot)
22
+ - update dev dep for serverspec (@jspaleta) (@dependabot)
23
+ - update dev dep for mixlib-shellout (@jspaleta) (@dependabot)
24
+ - update dev dep for rubocop (@jspaleta) (@dependabot)
25
+
26
+ ## [2.0.0] - 2018-09-30
8
27
  ### Breaking Changes
9
28
  - remove support for ruby versions `< 2.3.0` (@jspaleta)
10
29
 
@@ -13,8 +32,8 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins
13
32
 
14
33
 
15
34
  ### Fixed
16
- - check-log.rb: pattern is now required via option config
17
- - check-log.rb: update descriptions of crit and warn options
35
+ - check-log.rb: pattern is now required via option config (@cgeers)
36
+ - check-log.rb: update descriptions of crit and warn options (@cgeers)
18
37
 
19
38
  ## [1.3.1] - 2017-10-09
20
39
  ### Fixed
@@ -83,7 +102,8 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins
83
102
  ### Added
84
103
  - initial release
85
104
 
86
- [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-logs/compare/2.0.0...HEAD
105
+ [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-logs/compare/3.0.0...HEAD
106
+ [3.0.0]: https://github.com/sensu-plugins/sensu-plugins-logs/compare/2.0.0...3.0.0
87
107
  [2.0.0]: https://github.com/sensu-plugins/sensu-plugins-logs/compare/1.3.1...2.0.0
88
108
  [1.3.1]: https://github.com/sensu-plugins/sensu-plugins-logs/compare/1.3.0...1.3.1
89
109
  [1.3.0]: https://github.com/sensu-plugins/sensu-plugins-logs/compare/1.2.1...1.3.0
data/README.md CHANGED
@@ -31,3 +31,7 @@
31
31
  [Installation and Setup](http://sensu-plugins.io/docs/installation_instructions.html)
32
32
 
33
33
  ## Notes
34
+ ### Using this plugin with Sensu Go
35
+ * To use included handlers with Sensu Go, use `--map-go-event-into-ruby` argument or set environment variable `SENSU_MAP_GO_EVENT_INTO_RUBY=1`
36
+
37
+ * Make sure necessary handler configuration json exists under `/etc/sensu/conf.d/` or at a path in the colon separated list of files in the environment variable `SENSU_CONFIG_FILES`
@@ -167,7 +167,7 @@ class CheckLog < Sensu::Plugin::Check::CLI
167
167
  file_list.each do |log_file|
168
168
  begin
169
169
  open_log log_file
170
- rescue => e
170
+ rescue StandardError => e
171
171
  unknown "Could not open log file: #{e}"
172
172
  end
173
173
  n_warns, n_crits, accumulative_error = search_log
@@ -199,14 +199,15 @@ class CheckLog < Sensu::Plugin::Check::CLI
199
199
  end
200
200
 
201
201
  @state_file = File.join(state_dir, File.expand_path(log_file).sub(/^([A-Z]):\//, '\1/'))
202
- @bytes_to_skip = begin
203
- File.open(@state_file) do |file|
204
- file.flock(File::LOCK_SH) unless Gem.win_platform?
205
- file.readline.to_i
202
+ @bytes_to_skip =
203
+ begin
204
+ File.open(@state_file) do |file|
205
+ file.flock(File::LOCK_SH) unless Gem.win_platform?
206
+ file.readline.to_i
207
+ end
208
+ rescue StandardError
209
+ 0
206
210
  end
207
- rescue
208
- 0
209
- end
210
211
  end
211
212
 
212
213
  def search_log
@@ -13,14 +13,26 @@ require 'json'
13
13
 
14
14
  class LogEvent < Sensu::Handler
15
15
  def handle
16
- eventdir = "#{settings['logevent']['eventdir']}/#{@event['client']['name']}/#{@event['check']['name']}"
16
+ event_action = @event['action']
17
+ event_action ||= 'unknown'
18
+ check_name = @event['check']['name'] if (@event.include? 'check') && (@event['check'].include? 'name')
19
+ check_name ||= 'unknown'
20
+ client_name = @event['client']['name'] if (@event.include? 'client') && (@event['client'].include? 'name')
21
+ client_name ||= 'unknown'
22
+ check_executed = @event['check']['executed'] if (@event.include? 'check') && (@event['check'].include? 'executed')
23
+ check_executed ||= 'unknown'
24
+ dir_stub = settings['logevent']['eventdir'] if (settings.include? 'logevent') && (settings['logevent'].include? 'eventdir')
25
+ puts settings
26
+ raise 'logevent eventdir setting is missing' unless dir_stub
27
+
28
+ eventdir = "#{settings['logevent']['eventdir']}/#{client_name}/#{check_name}"
17
29
  FileUtils.mkdir_p(eventdir)
18
30
 
19
- File.open("#{eventdir}/#{@event['check']['executed']}.#{@event['action']}", 'w') do |f|
31
+ File.open("#{eventdir}/#{check_executed}.#{event_action}", 'w') do |f|
20
32
  f.write(JSON.pretty_generate(@event))
21
33
  end
22
34
 
23
- events = Dir.glob("#{eventdir}/*.#{@event['action']}")
35
+ events = Dir.glob("#{eventdir}/*.#{event_action}")
24
36
  # #YELLOW
25
37
  if settings['logevent']['keep'] < events.length # rubocop:disable GuardClause
26
38
  FileUtils.rm_f(events.sort.reverse.shift(settings['logevent']['keep']))
@@ -1,6 +1,6 @@
1
1
  module SensuPluginsLogs
2
2
  module Version
3
- MAJOR = 2
3
+ MAJOR = 3
4
4
  MINOR = 0
5
5
  PATCH = 0
6
6
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-logs
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu-Plugins and contributors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-01 00:00:00.000000000 Z
11
+ date: 2018-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sensu-plugin
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.7'
19
+ version: '3.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.7'
26
+ version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,28 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.4'
47
+ version: '1.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.4'
54
+ version: '1.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: github-markup
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.3'
61
+ version: '3.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.3'
68
+ version: '3.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: kitchen-docker
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -98,22 +98,22 @@ dependencies:
98
98
  name: mixlib-shellout
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "<"
102
- - !ruby/object:Gem::Version
103
- version: 2.3.0
104
101
  - - "~>"
105
102
  - !ruby/object:Gem::Version
106
103
  version: '2.2'
104
+ - - "<"
105
+ - !ruby/object:Gem::Version
106
+ version: 2.5.0
107
107
  type: :development
108
108
  prerelease: false
109
109
  version_requirements: !ruby/object:Gem::Requirement
110
110
  requirements:
111
- - - "<"
112
- - !ruby/object:Gem::Version
113
- version: 2.3.0
114
111
  - - "~>"
115
112
  - !ruby/object:Gem::Version
116
113
  version: '2.2'
114
+ - - "<"
115
+ - !ruby/object:Gem::Version
116
+ version: 2.5.0
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: pry
119
119
  requirement: !ruby/object:Gem::Requirement
@@ -142,6 +142,20 @@ dependencies:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
144
  version: '12.0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: rdoc
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '6.0'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '6.0'
145
159
  - !ruby/object:Gem::Dependency
146
160
  name: redcarpet
147
161
  requirement: !ruby/object:Gem::Requirement
@@ -176,28 +190,28 @@ dependencies:
176
190
  requirements:
177
191
  - - "~>"
178
192
  - !ruby/object:Gem::Version
179
- version: 0.49.0
193
+ version: 0.60.0
180
194
  type: :development
181
195
  prerelease: false
182
196
  version_requirements: !ruby/object:Gem::Requirement
183
197
  requirements:
184
198
  - - "~>"
185
199
  - !ruby/object:Gem::Version
186
- version: 0.49.0
200
+ version: 0.60.0
187
201
  - !ruby/object:Gem::Dependency
188
202
  name: serverspec
189
203
  requirement: !ruby/object:Gem::Requirement
190
204
  requirements:
191
205
  - - "~>"
192
206
  - !ruby/object:Gem::Version
193
- version: 2.36.1
207
+ version: 2.41.3
194
208
  type: :development
195
209
  prerelease: false
196
210
  version_requirements: !ruby/object:Gem::Requirement
197
211
  requirements:
198
212
  - - "~>"
199
213
  - !ruby/object:Gem::Version
200
- version: 2.36.1
214
+ version: 2.41.3
201
215
  - !ruby/object:Gem::Dependency
202
216
  name: test-kitchen
203
217
  requirement: !ruby/object:Gem::Requirement
@@ -274,7 +288,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
274
288
  version: '0'
275
289
  requirements: []
276
290
  rubyforge_project:
277
- rubygems_version: 2.7.7
291
+ rubygems_version: 2.7.8
278
292
  signing_key:
279
293
  specification_version: 4
280
294
  summary: Sensu plugins for logs