sensu-plugins-io-checks 0.0.3 → 1.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
  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��