sensu-plugins-io-checks 0.0.3 → 1.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
  SHA1:
3
- metadata.gz: 3c3e88914bb25d46148ff8b2f959a98ab256d9d0
4
- data.tar.gz: 7dbe5146b7c3b39bd4a9e69049a3bd30b1057475
3
+ metadata.gz: f4beb0429e8b5d472a8c56d3fd65890d03f559ce
4
+ data.tar.gz: 79ddae3142604f5317d6aa461f63f58ae0c96263
5
5
  SHA512:
6
- metadata.gz: 98129521cd6a9a7397c7eb4690be4f676450221298018efb881f327de5b4f7627ecdcb828518e58bf1250e46cbc790fc808c3559645e8e7b18d16a313173b5d3
7
- data.tar.gz: 30aade1441f6b38d273bf4a8535e48612c8d4de79ab3c70f03bc5c14e54bf959baf4e46d76949ab4db77fd9ead35fe1f32195a86610b7644453c3adb4ecb84f3
6
+ metadata.gz: b75f2129c79d3ba96c8fe0baabd30ef830f8195dfc6e702a3405cd20621bbb2757ff27db7dab045bb42d90961eb847a61f0369d22bab3d230b1f4d56043baaf2
7
+ data.tar.gz: b265784fafa66432e6c502eee5cea7fcec9031d146c1359292d63b3f46f3117550bccca824952ff55e890a744c661f392240721360fd4977ee4e02d205d9cef8
data/CHANGELOG.md CHANGED
@@ -3,7 +3,23 @@ This project adheres to [Semantic Versioning](http://semver.org/).
3
3
 
4
4
  This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachangelog.com/)
5
5
 
6
- ## Unreleased][unreleased]
6
+ ## [Unreleased]
7
+
8
+ ## [1.0.0] - 2016-06-20
9
+ ### Added
10
+ - rspec test cases for metrics-iostat-extended
11
+ - add proper device node handling for exclude-disk filtering
12
+
13
+ ### Fixed
14
+ - fix an ordering issue on exclude-disk filtering
15
+ - fix locale bug when calling iostat on non en_us systems
16
+
17
+ ### Changed
18
+ - use open3 instead of backticks for proper call to iostat
19
+ - filter exclude-disk in ruby code instead of shell grepping
20
+ - do not pass any environment vars from sensu to iostat call
21
+ - Update to Rubocop 0.40, apply auto-correct
22
+ - Remove Ruby 1.9.3 support; add Ruby 2.3.0 support to test matrix
7
23
 
8
24
  ## [0.0.3] - 2015-10-15
9
25
  ### Changed
@@ -13,6 +29,11 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
13
29
  ### Changed
14
30
  - updated sensu-plugin gem to 1.2.0
15
31
 
16
- ## [0.0.1] - 2015-06-04
32
+ ## 0.0.1 - 2015-06-04
17
33
  ### Added
18
34
  - initial release
35
+
36
+ [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-io-checks/compare/1.0.0...HEAD
37
+ [1.0.0]: https://github.com/sensu-plugins/sensu-plugins-io-checks/compare/0.0.3...1.0.0
38
+ [0.0.3]: https://github.com/sensu-plugins/sensu-plugins-io-checks/compare/0.0.2...0.0.3
39
+ [0.0.2]: https://github.com/sensu-plugins/sensu-plugins-io-checks/compare/0.0.1...0.0.2
data/README.md CHANGED
@@ -5,7 +5,6 @@
5
5
  [![Code Climate](https://codeclimate.com/github/sensu-plugins/sensu-plugins-io-checks/badges/gpa.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-io-checks)
6
6
  [![Test Coverage](https://codeclimate.com/github/sensu-plugins/sensu-plugins-io-checks/badges/coverage.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-io-checks)
7
7
  [![Dependency Status](https://gemnasium.com/sensu-plugins/sensu-plugins-io-checks.svg)](https://gemnasium.com/sensu-plugins/sensu-plugins-io-checks)
8
- [ ![Codeship Status for sensu-plugins/sensu-plugins-io-checks](https://codeship.com/projects/8fa21ce0-edc4-0132-2240-5a51cb58650a/status?branch=master)](https://codeship.com/projects/84113)
9
8
 
10
9
  ## Functionality
11
10
 
@@ -102,7 +102,7 @@ class IOPingMetrics < Sensu::Plugin::Metric::CLI::Graphite
102
102
  'min' => 60,
103
103
  'hour' => 60 * 60,
104
104
  'day' => 24 * 60 * 60
105
- }
105
+ }.freeze
106
106
  # #YELLOW
107
107
  STATS_HEADER = /min\/avg\/max\/mdev/
108
108
 
@@ -29,6 +29,7 @@
29
29
  #
30
30
 
31
31
  require 'sensu-plugin/metric/cli'
32
+ require 'open3'
32
33
  require 'socket'
33
34
 
34
35
  class IOStatExtended < Sensu::Plugin::Metric::CLI::Graphite
@@ -95,20 +96,27 @@ class IOStatExtended < Sensu::Plugin::Metric::CLI::Graphite
95
96
  end
96
97
 
97
98
  def run
98
- cmd = "iostat -x #{config[:interval]} 2"
99
+ cmd = 'iostat'
100
+ args = ['-x', config[:interval].to_s, '2']
101
+ args.push('-N') if config[:mappernames]
102
+ args.push(File.basename(config[:disk])) if config[:disk]
99
103
 
100
- cmd += " #{File.basename(config[:disk])}" if config[:disk]
101
- if config[:excludedisk]
102
- config[:excludedisk].each do |disk|
103
- cmd += " | grep -v #{disk}"
104
- end
105
- end
106
- cmd += ' -N' if config[:mappernames]
107
- stats = parse_results(`#{cmd}`)
104
+ exclude_disk = if config[:excludedisk]
105
+ config[:excludedisk].map { |d| File.basename(d) }
106
+ else
107
+ []
108
+ end
109
+
110
+ stdin, stdout, stderr = Open3.popen3(cmd, *args, unsetenv_others: true)
111
+ stdin.close
112
+ stderr.close
113
+ stats = parse_results(stdout.gets(nil))
114
+ stdout.close
108
115
 
109
116
  timestamp = Time.now.to_i
110
117
 
111
118
  stats.each do |disk, metrics|
119
+ next if exclude_disk.include? disk
112
120
  metrics.each do |metric, value|
113
121
  output [config[:scheme], disk, metric].join('.'), value, timestamp
114
122
  end
@@ -1,8 +1,8 @@
1
1
  module SensuPluginsIOChecks
2
2
  module Version
3
- MAJOR = 0
3
+ MAJOR = 1
4
4
  MINOR = 0
5
- PATCH = 3
5
+ PATCH = 0
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
8
  end
metadata CHANGED
@@ -1,51 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-io-checks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sensu-Plugins and contributors
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain:
11
- - |
12
- -----BEGIN CERTIFICATE-----
13
- MIIDgDCCAmigAwIBAgIBATANBgkqhkiG9w0BAQUFADBDMRIwEAYDVQQDDAltYXR0
14
- am9uZXMxGDAWBgoJkiaJk/IsZAEZFgh5aWVsZGJvdDETMBEGCgmSJomT8ixkARkW
15
- A2NvbTAeFw0xNTAxMjgyMTAyNTFaFw0xNjAxMjgyMTAyNTFaMEMxEjAQBgNVBAMM
16
- CW1hdHRqb25lczEYMBYGCgmSJomT8ixkARkWCHlpZWxkYm90MRMwEQYKCZImiZPy
17
- LGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyTSzVYnO
18
- CLgyrIyT1mBQakArQyW8xhi6MlDqyzXHJGeERT790U6EgoBVeS4XoK0ptFZNR8Tf
19
- zko0w+Nv47TarSCgkPOaxY+mxWnAVR10dOmfeLr7huiMyps+YD56/EF2FqQ3jf/+
20
- qohENfKD91qy1ieEy+Fn7Pf74ltbNKUdkb9a9eFXQ0DQ4ip5vik7DzjQkUTj4lca
21
- k6ArwnmHX4YDhZoYtrQJ8jVktN0/+NtA40M5qkCYHNe5tUW25b/tKVYuioxG6b2Z
22
- oIzaZxRLxf6HVAWpCVRT/F5+/yjigkX4u++eYacfLGleXQzoK7BL65vHGMJygWEE
23
- 0TKGqFOrl/L0AQIDAQABo38wfTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNV
24
- HQ4EFgQUEf6a8Td7MrSZc8ImbLFZAENPbz0wIQYDVR0RBBowGIEWbWF0dGpvbmVz
25
- QHlpZWxkYm90LmNvbTAhBgNVHRIEGjAYgRZtYXR0am9uZXNAeWllbGRib3QuY29t
26
- MA0GCSqGSIb3DQEBBQUAA4IBAQBbzXAYA3BVGw8DZ0YYoY1VHPNEcH5qPIApmHO8
27
- rvSmuUT0yMEi7u00H/5uHRFf4LleGT/+sTdyXKsNPGT9kdRuQEgwi+vf7Zfvd8aX
28
- UF/+4VkEYf/8rV8Ere6u2QaWPgApdMV6JjKr1fAwCTd8AuGXNaWItiPPMseSQzLJ
29
- JKP4hVvbc1d+oS925B1lcBiqn2aYvElbyNAVmQPywNNqkWmvtlqj9ZVJfV5HQLdu
30
- 8sHuVruarogxxKPBzlL2is4EUb6oN/RdpGx2l4254+nyR+abg//Ed27Ym0PkB4lk
31
- HP0m8WSjZmFr109pE/sVsM5jtOCvogyujQOjNVGN4gz1wwPr
32
- -----END CERTIFICATE-----
33
- date: 2015-10-16 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2016-06-20 00:00:00.000000000 Z
34
12
  dependencies:
35
13
  - !ruby/object:Gem::Dependency
36
14
  name: sensu-plugin
37
15
  requirement: !ruby/object:Gem::Requirement
38
16
  requirements:
39
- - - '='
17
+ - - "~>"
40
18
  - !ruby/object:Gem::Version
41
- version: 1.2.0
19
+ version: '1.2'
42
20
  type: :runtime
43
21
  prerelease: false
44
22
  version_requirements: !ruby/object:Gem::Requirement
45
23
  requirements:
46
- - - '='
24
+ - - "~>"
47
25
  - !ruby/object:Gem::Version
48
- version: 1.2.0
26
+ version: '1.2'
49
27
  - !ruby/object:Gem::Dependency
50
28
  name: bundler
51
29
  requirement: !ruby/object:Gem::Requirement
@@ -148,16 +126,16 @@ dependencies:
148
126
  name: rubocop
149
127
  requirement: !ruby/object:Gem::Requirement
150
128
  requirements:
151
- - - '='
129
+ - - "~>"
152
130
  - !ruby/object:Gem::Version
153
- version: 0.32.1
131
+ version: 0.40.0
154
132
  type: :development
155
133
  prerelease: false
156
134
  version_requirements: !ruby/object:Gem::Requirement
157
135
  requirements:
158
- - - '='
136
+ - - "~>"
159
137
  - !ruby/object:Gem::Version
160
- version: 0.32.1
138
+ version: 0.40.0
161
139
  - !ruby/object:Gem::Dependency
162
140
  name: yard
163
141
  requirement: !ruby/object:Gem::Requirement
@@ -172,11 +150,14 @@ dependencies:
172
150
  - - "~>"
173
151
  - !ruby/object:Gem::Version
174
152
  version: '0.8'
175
- description: Sensu io checks plugins
153
+ description: |-
154
+ This plugin provides native system I/O
155
+ instrumentation for metrics collection via the
156
+ system `ioping` utility.
176
157
  email: "<sensu-users@googlegroups.com>"
177
158
  executables:
178
- - metrics-iostat-extended.rb
179
159
  - metrics-ioping.rb
160
+ - metrics-iostat-extended.rb
180
161
  extensions: []
181
162
  extra_rdoc_files: []
182
163
  files:
@@ -205,7 +186,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
205
186
  requirements:
206
187
  - - ">="
207
188
  - !ruby/object:Gem::Version
208
- version: 1.9.3
189
+ version: 2.0.0
209
190
  required_rubygems_version: !ruby/object:Gem::Requirement
210
191
  requirements:
211
192
  - - ">="
@@ -213,8 +194,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
213
194
  version: '0'
214
195
  requirements: []
215
196
  rubyforge_project:
216
- rubygems_version: 2.4.8
197
+ rubygems_version: 2.5.1
217
198
  signing_key:
218
199
  specification_version: 4
219
200
  summary: Sensu plugins for io checks
220
201
  test_files: []
202
+ has_rdoc:
checksums.yaml.gz.sig DELETED
Binary file
data.tar.gz.sig DELETED
Binary file
metadata.gz.sig DELETED
@@ -1 +0,0 @@
1
- /�w�}�6�k%����S�L��s�/�}�\2�.4��