sensu-plugins-elasticsearch 1.12.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f4c7f8edc916e17c7ba571ef98759d0baaa87e911775ae2937add42081d731ba
4
- data.tar.gz: 824f94d88b00f0fe2d0c569e4e081c9e6963b24a2bc2ef178f57a0918a4f35e6
3
+ metadata.gz: e319f3f86c9601175dd3491e2f4b6c5b2d6964c647ddfb9acd6bf889c561cdc4
4
+ data.tar.gz: af563071f38a129d3c4e54a5e80984b393ea1bc4f8ab842b1435cb51c4a9d56c
5
5
  SHA512:
6
- metadata.gz: 50443d93f7171a791e8ed2c766407137c956d138ae5adbed7fb3138c1985e130aeda6133521b7ef711fb7a94ff2bd083fc18fb01d693b282b8b705c0abdd8c18
7
- data.tar.gz: bdc41027de05096a2b75146cc4c36bcedb89e11004204026c2d062422c6a5849d220a6050f868b5416744d395c857a34b87e09dd57964b4dfb769c53a5f4da23
6
+ metadata.gz: da453a880f287c0d2e5b6a88ebacb128c7ecd6cfec6fd9e6a9147910c00c7b1853f8a9c3bd33fe3d21f03aca4ac01f0b7bb232ce214ba10b015fe0d2d2304c73
7
+ data.tar.gz: 98f68c296f471556369ebef348410f12a30e9a039b11944249c501ed5bf790e618effe062c355ca55895975f18c7edf1cdbd4b3dfa9303af1d325c79255ff297
data/CHANGELOG.md CHANGED
@@ -5,6 +5,18 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [2.0.0] - 2018-03-07
9
+
10
+ ### Security
11
+ - updated rubocop dependency to `~> 0.51.0` per: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8418. (@majormoses)
12
+
13
+ ### Breaking Changes
14
+ - removed ruby `< 2.1` support @majormoses
15
+
16
+ ### Changes
17
+ - added explicit dependency on `mixlib-shellout` to keep compatibility with ruby `2.1` (@majormoses)
18
+ - appeased the cops and created TODOs (@majormoses)
19
+
8
20
  ## [1.12.0] - 2018-03-01
9
21
  ### Added
10
22
  - check-es-indices-field-number.rb: check if the number of fields in index(es) is approaching limit (default to 1000 in ES) (@huynt1979)
@@ -236,7 +248,8 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins
236
248
  - initial release
237
249
 
238
250
 
239
- [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-elasticsearch/compare/1.12.0...HEAD
251
+ [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-elasticsearch/compare/2.0.0...HEAD
252
+ [2.0.0]: https://github.com/sensu-plugins/sensu-plugins-elasticsearch/compare/1.12.0...2.0.0
240
253
  [1.12.0]: https://github.com/sensu-plugins/sensu-plugins-elasticsearch/compare/1.11.1...1.12.0
241
254
  [1.11.1]: https://github.com/sensu-plugins/sensu-plugins-elasticsearch/compare/1.11.0...1.11.1
242
255
  [1.11.0]: https://github.com/sensu-plugins/sensu-plugins-elasticsearch/compare/1.10.0...1.11.0
data/bin/check-es-heap.rb CHANGED
@@ -142,7 +142,7 @@ class ESHeap < Sensu::Plugin::Check::CLI
142
142
 
143
143
  def acquire_heap_data(node)
144
144
  return node['jvm']['mem']['heap_used_in_bytes'], node['jvm']['mem']['heap_max_in_bytes']
145
- rescue
145
+ rescue StandardError
146
146
  warning 'Failed to obtain heap used in bytes'
147
147
  end
148
148
 
@@ -166,7 +166,7 @@ class ESHeap < Sensu::Plugin::Check::CLI
166
166
  status = { crit: '', warn: '', ok: '' }
167
167
 
168
168
  # Check all the nodes in the cluster, alert if any of the nodes have heap usage above thresholds
169
- stats['nodes'].each do |_, node|
169
+ stats['nodes'].each_value do |node|
170
170
  heap_used, heap_max = acquire_heap_data(node)
171
171
  heap_usage, output = acquire_heap_usage(heap_used, heap_max, node['name'])
172
172
  if heap_usage >= config[:crit]
@@ -108,6 +108,8 @@ class ESCheckIndicesSizes < Sensu::Plugin::Check::CLI
108
108
 
109
109
  def get_indices_to_delete(starting_date, total_bytes_to_delete, indices_with_sizes)
110
110
  total_bytes_deleted = 0
111
+
112
+ # TODO: switch from `DateTime` to `Time` or `Date`
111
113
  curr_date = DateTime.now
112
114
 
113
115
  indices_to_delete = []
@@ -161,10 +163,10 @@ class ESCheckIndicesSizes < Sensu::Plugin::Check::CLI
161
163
  nodes_being_used = node_fs_stats['nodes'].values.select { |node| node['indices']['store']['size_in_bytes'] > 0 }
162
164
 
163
165
  # TODO: come back and cleanup all these rubocop disables with a little refactor
164
- # rubocop:disable Style/SingleLineBlockParams,Metrics/LineLength
166
+ # rubocop:disable Metrics/LineLength
165
167
  used_in_bytes = nodes_being_used.map { |node| node['fs']['data'].map { |data| data['total_in_bytes'] - data['available_in_bytes'] }.flatten }.flatten.inject { |sum, x| sum + x }
166
168
  total_in_bytes = nodes_being_used.map { |node| node['fs']['data'].map { |data| data['total_in_bytes'] }.flatten }.flatten.inject { |sum, x| sum + x }
167
- # rubocop:enable Style/SingleLineBlockParams,Metrics/LineLength
169
+ # rubocop:enable Metrics/LineLength
168
170
 
169
171
  if config[:maximum_megabytes] > 0
170
172
  target_bytes_used = config[:maximum_megabytes] * 1_000_000
@@ -107,7 +107,7 @@ class ESShardAllocationStatus < Sensu::Plugin::Check::CLI
107
107
  # which is the ES default
108
108
  begin
109
109
  settings[type]['cluster']['routing']['allocation']['enable'].downcase
110
- rescue
110
+ rescue StandardError
111
111
  'all'
112
112
  end
113
113
  end
@@ -144,8 +144,8 @@ class ESClusterMetrics < Sensu::Plugin::Metric::CLI::Graphite
144
144
  end
145
145
 
146
146
  def acquire_health
147
- health = get_es_resource('/_cluster/health').reject { |k, _v| %w(cluster_name timed_out).include?(k) }
148
- health['status'] = %w(red yellow green).index(health['status'])
147
+ health = get_es_resource('/_cluster/health').reject { |k, _v| %w[cluster_name timed_out].include?(k) }
148
+ health['status'] = %w[red yellow green].index(health['status'])
149
149
  health
150
150
  end
151
151
 
@@ -191,7 +191,7 @@ class ESClusterMetrics < Sensu::Plugin::Metric::CLI::Graphite
191
191
  cluster_config = get_es_resource('/_cluster/settings')
192
192
  transient_settings = cluster_config['transient']
193
193
  if transient_settings.key?('cluster')
194
- return %w(none new_primaries primaries all).index(transient_settings['cluster']['routing']['allocation']['enable'])
194
+ return %w[none new_primaries primaries all].index(transient_settings['cluster']['routing']['allocation']['enable'])
195
195
  else
196
196
  return nil
197
197
  end
@@ -165,7 +165,7 @@ class ESNodeGraphiteMetrics < Sensu::Plugin::Metric::CLI::Graphite
165
165
  es_version = Gem::Version.new(acquire_es_version)
166
166
 
167
167
  if es_version >= Gem::Version.new('3.0.0')
168
- stats_query_array = %w(indices http transport)
168
+ stats_query_array = %w[indices http transport]
169
169
  stats_query_array.push('jvm') if jvm_stats == true
170
170
  stats_query_array.push('os') if os_stat == true
171
171
  stats_query_array.push('process') if process_stats == true
@@ -173,7 +173,7 @@ class ESNodeGraphiteMetrics < Sensu::Plugin::Metric::CLI::Graphite
173
173
  stats_query_array.push('fs') if fs_stats == true
174
174
  stats_query_string = stats_query_array.join(',')
175
175
  elsif es_version >= Gem::Version.new('1.0.0')
176
- stats_query_array = %w(indices http network transport thread_pool)
176
+ stats_query_array = %w[indices http network transport thread_pool]
177
177
  stats_query_array.push('jvm') if jvm_stats == true
178
178
  stats_query_array.push('os') if os_stat == true
179
179
  stats_query_array.push('process') if process_stats == true
@@ -1,7 +1,7 @@
1
1
  module SensuPluginsElasticsearch
2
2
  module Version
3
- MAJOR = 1
4
- MINOR = 12
3
+ MAJOR = 2
4
+ MINOR = 0
5
5
  PATCH = 0
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-elasticsearch
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.0
4
+ version: 2.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-03-01 00:00:00.000000000 Z
11
+ date: 2018-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-es-transport
@@ -148,6 +148,26 @@ dependencies:
148
148
  - - "~>"
149
149
  - !ruby/object:Gem::Version
150
150
  version: '2.6'
151
+ - !ruby/object:Gem::Dependency
152
+ name: mixlib-shellout
153
+ requirement: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - "<"
156
+ - !ruby/object:Gem::Version
157
+ version: 2.3.0
158
+ - - "~>"
159
+ - !ruby/object:Gem::Version
160
+ version: '2.2'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "<"
166
+ - !ruby/object:Gem::Version
167
+ version: 2.3.0
168
+ - - "~>"
169
+ - !ruby/object:Gem::Version
170
+ version: '2.2'
151
171
  - !ruby/object:Gem::Dependency
152
172
  name: pry
153
173
  requirement: !ruby/object:Gem::Requirement
@@ -210,14 +230,14 @@ dependencies:
210
230
  requirements:
211
231
  - - "~>"
212
232
  - !ruby/object:Gem::Version
213
- version: 0.40.0
233
+ version: 0.51.0
214
234
  type: :development
215
235
  prerelease: false
216
236
  version_requirements: !ruby/object:Gem::Requirement
217
237
  requirements:
218
238
  - - "~>"
219
239
  - !ruby/object:Gem::Version
220
- version: 0.40.0
240
+ version: 0.51.0
221
241
  - !ruby/object:Gem::Dependency
222
242
  name: test-kitchen
223
243
  requirement: !ruby/object:Gem::Requirement
@@ -316,7 +336,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
316
336
  requirements:
317
337
  - - ">="
318
338
  - !ruby/object:Gem::Version
319
- version: 2.0.0
339
+ version: 2.1.0
320
340
  required_rubygems_version: !ruby/object:Gem::Requirement
321
341
  requirements:
322
342
  - - ">="