sensu-plugins-xen 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: dafcc5268e68367318fa19662f5a8150cd2a4fa0
4
- data.tar.gz: ab1b3a71e29ea5e2b0852a40e92528f56392fd69
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MTY3YjA2N2UwZjc2NjU0OThmM2VhODBiNTdkZTQ3NTZmMDJlZDc4Zg==
5
+ data.tar.gz: !binary |-
6
+ NGNlZDlkMmNhYzU1YWM1NGY3YjE0NDgxZDdhNjQ0ZDY2ZTA5NTljNw==
5
7
  SHA512:
6
- metadata.gz: 7df33c56130845ce7f6e41afed2ecd9dc82ae937ebd64ec2cce2c8b7d2dd18f650b01763b9271a944f6becfc25b377d386bb38c240120ecf2e85f8430f6e55b3
7
- data.tar.gz: 0c99424909b9ec19b664cddf235e57d005d8c53105f9236447507c79e6842be464d330f27c630e04293fa09cb81c2cd24ea30ab24b43a0a095587f3b941ac3b9
8
+ metadata.gz: !binary |-
9
+ NzI2YTllNDBiOGJhYzg3NDNmZTk0NTcwMTlmNzQ3ODljMmU0Yjc4OTE3MzVm
10
+ YTE5ODYxOWZlYzE1YzhkOTM1MGVjZjA5OGExYjNhODNkYjhlMWZlYTk1Yzk0
11
+ ZDY4ZDQ5ODZiZWQxZDlkMDFhNTUwNDc3NzE5NDczZTVlNWI5M2I=
12
+ data.tar.gz: !binary |-
13
+ NjU2NjI2NmRhZDY4MzU2OGIwNWUzZGY1ZjNjNGZiMThjZWU1YTc1OTg3MTVi
14
+ ZDgxNTgyZWI1MWFlMGU0NmE3OTNiZTQ3NmViNzU4NmJmMDJiYjMyYjRlM2M0
15
+ MjdmNWE5YWM3NjBjMjA2MjZjNWFmNzhjYmVkYTIwNTZiY2MwMzI=
@@ -3,14 +3,20 @@ 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
+ ## [0.1.0] - 2016-08-16
9
+ ## Changed
10
+ - Updated sensu-plugin dependency from `= 1.2.0` to `~> 1.2.0`
11
+
12
+ ## Added
13
+ - metrics-xen.rb: new metric plugin added!
7
14
 
8
15
  ## [0.0.3] - 2015-07-14
9
16
  ### Changed
10
17
  - updated sensu-plugin gem to 1.2.0
11
18
 
12
19
  ## [0.0.2] - 2015-06-03
13
-
14
20
  ### Fixed
15
21
  - added binstubs
16
22
 
@@ -18,7 +24,9 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
18
24
  - removed cruft from /lib
19
25
 
20
26
  ## 0.0.1 - 2015-04-30
21
-
22
27
  ### Added
23
28
  - initial release
24
29
 
30
+ [Unreleased]: https://github.com/sensu-plugins/sensu-plugins-xen/compare/0.0.3...HEAD
31
+ [0.0.3]: https://github.com/sensu-plugins/sensu-plugins-xen/compare/0.0.2...0.0.3
32
+ [0.0.2]: https://github.com/sensu-plugins/sensu-plugins-xen/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-xen/badges/gpa.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-xen)
6
6
  [![Test Coverage](https://codeclimate.com/github/sensu-plugins/sensu-plugins-xen/badges/coverage.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-xen)
7
7
  [![Dependency Status](https://gemnasium.com/sensu-plugins/sensu-plugins-xen.svg)](https://gemnasium.com/sensu-plugins/sensu-plugins-xen)
8
- [ ![Codeship Status for sensu-plugins/sensu-plugins-xen](https://codeship.com/projects/5bd9f6a0-e208-0132-c91d-3642858bbef8/status?branch=master)](https://codeship.com/projects/81368)
9
8
 
10
9
  ## Functionality
11
10
 
@@ -16,6 +15,6 @@
16
15
 
17
16
  ## Installation
18
17
 
19
- [Installation and Setup](https://github.com/sensu-plugins/documentation/blob/master/user_docs/installation_instructions.md)
18
+ [Installation and Setup](http://sensu-plugins.io/docs/installation_instructions.html)
20
19
 
21
20
  ## Notes
@@ -0,0 +1,111 @@
1
+ #! /usr/bin/env ruby
2
+ #
3
+ # metrics-xen.rb
4
+ #
5
+ # DESCRIPTION:
6
+ # This plugin collects metrics from xentop
7
+ #
8
+ # OUTPUT:
9
+ # metric data
10
+ #
11
+ # PLATFORMS:
12
+ # Linux
13
+ #
14
+ # DEPENDENCIES:
15
+ # gem: sensu-plugin
16
+ #
17
+ # USAGE:
18
+ # metrics-xen.rb
19
+ #
20
+ # NOTES:
21
+ #
22
+ #
23
+ # LICENSE:
24
+ # Copyright Marc-Andre Gatien <m.gatien@gmail.com>
25
+ # Released under the same terms as Sensu (the MIT license); see LICENSE
26
+ # for details.
27
+ #
28
+ require 'sensu-plugin/metric/cli'
29
+ require 'socket'
30
+
31
+ class XenGraphite < Sensu::Plugin::Metric::CLI::Graphite
32
+ option :scheme,
33
+ description: 'Metric naming scheme, text to prepend to metric',
34
+ short: '-s SCHEME',
35
+ long: '--scheme SCHEME',
36
+ default: '#{Socket.gethostbyname("#{Socket.gethostname}").first}.xen'
37
+
38
+ def run
39
+ xen = metrics_hash
40
+ xm = xm_hash
41
+ xencount = xenservers
42
+ i = 0
43
+ xen.each do |_k, v|
44
+ result = v.split(' ')
45
+ metrics = {
46
+ :"#{xencount[i]}" => {
47
+ CPUs: result[0],
48
+ CPUp: result[1],
49
+ MEMk: result[2],
50
+ MEMp: result[3],
51
+ MAXMEMk: result[4].to_i,
52
+ MAXMEMp: result[5].to_f,
53
+ VCPUs: result[6].to_i,
54
+ NETS: result[7],
55
+ NETTX: result[8],
56
+ NETRX: result[9],
57
+ VBDS: result[10],
58
+ VBD_OO: result[11],
59
+ VBD_RD: result[12],
60
+ VBD_WR: result[13],
61
+ VBD_RSECT: result[14],
62
+ VBD_WSECT: result[15],
63
+ SSID: result[16]
64
+ }
65
+ }
66
+ i += 1
67
+ metrics.each do |parent, children|
68
+ children.each do |child, value|
69
+ output [config[:scheme], parent, child].join('.'), value
70
+ end
71
+ end
72
+ end
73
+ xm.each do |k, v|
74
+ output [config[:scheme], 'Domain-0', k].join('.'), v
75
+ end
76
+ ok
77
+ end
78
+
79
+ def xenservers
80
+ xencount = []
81
+ xentop_output.each_line do |line|
82
+ xencount.push(line.split.first(1).join(' ').split('.').first)
83
+ end
84
+ xencount.uniq
85
+ end
86
+
87
+ def metrics_hash
88
+ xen = {}
89
+ xencount = xenservers
90
+ c = xencount.count - 1
91
+ xentop_output.each_line.with_index do |line, lineno|
92
+ next if lineno <= c
93
+ xen[line.split.first(1).join(' ')] = line.split.drop(2).join(' ')
94
+ end
95
+ xen
96
+ end
97
+
98
+ def xm_hash
99
+ xen_info = {}
100
+ `sudo xm info`.each_line do |line|
101
+ if /(nr_cpus|cores_per_socket|threads_per_core|total_memory|free_memory|free_cpus|nr_nodes)/ =~ line
102
+ xen_info.store((line.split(' ')[0]), line.split.drop(2).join(' ').to_i)
103
+ end
104
+ end
105
+ xen_info
106
+ end
107
+
108
+ def xentop_output
109
+ `sudo xentop -bfi2 | grep -v NAME`
110
+ end
111
+ end
@@ -1,8 +1,8 @@
1
1
  module SensuPluginsXen
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 0
5
- PATCH = 3
4
+ MINOR = 1
5
+ PATCH = 0
6
6
 
7
7
  VER_STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
8
  end
metadata CHANGED
@@ -1,186 +1,166 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sensu-plugins-xen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.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-07-14 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2016-08-19 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
- name: codeclimate-test-reporter
28
+ name: bundler
51
29
  requirement: !ruby/object:Gem::Requirement
52
30
  requirements:
53
- - - "~>"
31
+ - - ~>
54
32
  - !ruby/object:Gem::Version
55
- version: '0.4'
33
+ version: '1.7'
56
34
  type: :development
57
35
  prerelease: false
58
36
  version_requirements: !ruby/object:Gem::Requirement
59
37
  requirements:
60
- - - "~>"
38
+ - - ~>
61
39
  - !ruby/object:Gem::Version
62
- version: '0.4'
40
+ version: '1.7'
63
41
  - !ruby/object:Gem::Dependency
64
- name: rubocop
42
+ name: codeclimate-test-reporter
65
43
  requirement: !ruby/object:Gem::Requirement
66
44
  requirements:
67
- - - '='
45
+ - - ~>
68
46
  - !ruby/object:Gem::Version
69
- version: '0.30'
47
+ version: '0.4'
70
48
  type: :development
71
49
  prerelease: false
72
50
  version_requirements: !ruby/object:Gem::Requirement
73
51
  requirements:
74
- - - '='
52
+ - - ~>
75
53
  - !ruby/object:Gem::Version
76
- version: '0.30'
54
+ version: '0.4'
77
55
  - !ruby/object:Gem::Dependency
78
- name: rspec
56
+ name: github-markup
79
57
  requirement: !ruby/object:Gem::Requirement
80
58
  requirements:
81
- - - "~>"
59
+ - - ~>
82
60
  - !ruby/object:Gem::Version
83
- version: '3.1'
61
+ version: '1.3'
84
62
  type: :development
85
63
  prerelease: false
86
64
  version_requirements: !ruby/object:Gem::Requirement
87
65
  requirements:
88
- - - "~>"
66
+ - - ~>
89
67
  - !ruby/object:Gem::Version
90
- version: '3.1'
68
+ version: '1.3'
91
69
  - !ruby/object:Gem::Dependency
92
- name: bundler
70
+ name: pry
93
71
  requirement: !ruby/object:Gem::Requirement
94
72
  requirements:
95
- - - "~>"
73
+ - - ~>
96
74
  - !ruby/object:Gem::Version
97
- version: '1.7'
75
+ version: '0.10'
98
76
  type: :development
99
77
  prerelease: false
100
78
  version_requirements: !ruby/object:Gem::Requirement
101
79
  requirements:
102
- - - "~>"
80
+ - - ~>
103
81
  - !ruby/object:Gem::Version
104
- version: '1.7'
82
+ version: '0.10'
105
83
  - !ruby/object:Gem::Dependency
106
84
  name: rake
107
85
  requirement: !ruby/object:Gem::Requirement
108
86
  requirements:
109
- - - "~>"
87
+ - - ~>
110
88
  - !ruby/object:Gem::Version
111
- version: '10.0'
89
+ version: '10.5'
112
90
  type: :development
113
91
  prerelease: false
114
92
  version_requirements: !ruby/object:Gem::Requirement
115
93
  requirements:
116
- - - "~>"
94
+ - - ~>
117
95
  - !ruby/object:Gem::Version
118
- version: '10.0'
96
+ version: '10.5'
119
97
  - !ruby/object:Gem::Dependency
120
- name: github-markup
98
+ name: redcarpet
121
99
  requirement: !ruby/object:Gem::Requirement
122
100
  requirements:
123
- - - "~>"
101
+ - - ~>
124
102
  - !ruby/object:Gem::Version
125
- version: '1.3'
103
+ version: '3.2'
126
104
  type: :development
127
105
  prerelease: false
128
106
  version_requirements: !ruby/object:Gem::Requirement
129
107
  requirements:
130
- - - "~>"
108
+ - - ~>
131
109
  - !ruby/object:Gem::Version
132
- version: '1.3'
110
+ version: '3.2'
133
111
  - !ruby/object:Gem::Dependency
134
- name: redcarpet
112
+ name: rubocop
135
113
  requirement: !ruby/object:Gem::Requirement
136
114
  requirements:
137
- - - "~>"
115
+ - - ~>
138
116
  - !ruby/object:Gem::Version
139
- version: '3.2'
117
+ version: 0.40.0
140
118
  type: :development
141
119
  prerelease: false
142
120
  version_requirements: !ruby/object:Gem::Requirement
143
121
  requirements:
144
- - - "~>"
122
+ - - ~>
145
123
  - !ruby/object:Gem::Version
146
- version: '3.2'
124
+ version: 0.40.0
147
125
  - !ruby/object:Gem::Dependency
148
- name: yard
126
+ name: rspec
149
127
  requirement: !ruby/object:Gem::Requirement
150
128
  requirements:
151
- - - "~>"
129
+ - - ~>
152
130
  - !ruby/object:Gem::Version
153
- version: '0.8'
131
+ version: '3.4'
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.8'
138
+ version: '3.4'
161
139
  - !ruby/object:Gem::Dependency
162
- name: pry
140
+ name: yard
163
141
  requirement: !ruby/object:Gem::Requirement
164
142
  requirements:
165
- - - "~>"
143
+ - - ~>
166
144
  - !ruby/object:Gem::Version
167
- version: '0.10'
145
+ version: '0.8'
168
146
  type: :development
169
147
  prerelease: false
170
148
  version_requirements: !ruby/object:Gem::Requirement
171
149
  requirements:
172
- - - "~>"
150
+ - - ~>
173
151
  - !ruby/object:Gem::Version
174
- version: '0.10'
152
+ version: '0.8'
175
153
  description: Sensu plugins for working with xen
176
- email: "<sensu-users@googlegroups.com>"
177
- executables: []
154
+ email: <sensu-users@googlegroups.com>
155
+ executables:
156
+ - metrics-xen.rb
178
157
  extensions: []
179
158
  extra_rdoc_files: []
180
159
  files:
181
160
  - CHANGELOG.md
182
161
  - LICENSE
183
162
  - README.md
163
+ - bin/metrics-xen.rb
184
164
  - lib/sensu-plugins-xen.rb
185
165
  - lib/sensu-plugins-xen/version.rb
186
166
  homepage: https://github.com/sensu-plugins/sensu-plugins-xen
@@ -199,17 +179,17 @@ require_paths:
199
179
  - lib
200
180
  required_ruby_version: !ruby/object:Gem::Requirement
201
181
  requirements:
202
- - - ">="
182
+ - - ! '>='
203
183
  - !ruby/object:Gem::Version
204
184
  version: 1.9.3
205
185
  required_rubygems_version: !ruby/object:Gem::Requirement
206
186
  requirements:
207
- - - ">="
187
+ - - ! '>='
208
188
  - !ruby/object:Gem::Version
209
189
  version: '0'
210
190
  requirements: []
211
191
  rubyforge_project:
212
- rubygems_version: 2.4.6
192
+ rubygems_version: 2.4.5
213
193
  signing_key:
214
194
  specification_version: 4
215
195
  summary: Sensu plugins for working with xen
Binary file
data.tar.gz.sig DELETED
@@ -1 +0,0 @@
1
- ��l���{t�;&���Ea����M�F�Dt����3k*e��ㆧa��к��bI�웠�DΑ|֏YG�� ��*�x�%}�@���+���99��6���R�#Mp�%|l��b� i�=��Y�(O���; ��!t������,q��?c��QZ�5��SI����n[��C�_��pV5N���}EB�����R��:njm�g�Y���A"ɦd�3��:�HV����{��6
metadata.gz.sig DELETED
@@ -1 +0,0 @@
1
- w��P�Jl��^��\n���M=Q��l�.��Ƥ�#�!?C��p��~L�;<r$�K�i{9ԉ���j�;[�]%�7Nص�v�*Q���>j��u�T�v��<Zl��P���!��B�=�pGIx�'�(d����U��E�y�Dţ�_�<�g@���r�tb��a8��B@i�G�B+�ծah �M�,�]��8���9z£�Ŷ�.�b�:f~�kg�T3tX2��0