onering-report 0.6.5
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 +7 -0
- data/.gitignore +1 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +57 -0
- data/Makefile +2 -0
- data/Rakefile +8 -0
- data/lib/etc/facter.list +19 -0
- data/lib/facter/onering_disk_smart.rb +38 -0
- data/lib/facter/onering_properties_chef.rb +41 -0
- data/lib/facter/onering_properties_haproxy.rb +155 -0
- data/lib/facter/onering_properties_id.rb +69 -0
- data/lib/facter/onering_properties_netstat.rb +94 -0
- data/lib/facter/onering_properties_network.rb +253 -0
- data/lib/facter/onering_properties_onering.rb +17 -0
- data/lib/facter/onering_properties_openvz.rb +17 -0
- data/lib/facter/onering_properties_physical.rb +87 -0
- data/lib/facter/onering_properties_services.rb +25 -0
- data/lib/facter/onering_properties_system.rb +18 -0
- data/lib/facter/onering_properties_virident.rb +93 -0
- data/lib/facter/onering_properties_xen.rb +32 -0
- data/lib/facter/onering_properties_zfs.rb +174 -0
- data/lib/reporter/default/properties_chef.rb +15 -0
- data/lib/reporter/default/properties_facter.rb +51 -0
- data/lib/reporter/default/properties_haproxy.rb +8 -0
- data/lib/reporter/default/properties_ipmi.rb +10 -0
- data/lib/reporter/default/properties_network.rb +63 -0
- data/lib/reporter/default/properties_ohai.rb +62 -0
- data/lib/reporter/default/properties_openvz.rb +12 -0
- data/lib/reporter/default/properties_physical.rb +10 -0
- data/lib/reporter/default/properties_services.rb +6 -0
- data/lib/reporter/default/properties_system_cpu.rb +30 -0
- data/lib/reporter/default/properties_system_disk_block.rb +35 -0
- data/lib/reporter/default/properties_system_disk_lvm.rb +73 -0
- data/lib/reporter/default/properties_system_disk_mounts.rb +46 -0
- data/lib/reporter/default/properties_system_disk_smart.rb +3 -0
- data/lib/reporter/default/properties_system_memory.rb +111 -0
- data/lib/reporter/default/properties_xen.rb +16 -0
- data/lib/reporter/default/stats_virident.rb +8 -0
- data/lib/reporter/default/stats_zfs.rb +8 -0
- data/onering-report.gemspec +18 -0
- metadata +126 -0
@@ -0,0 +1,111 @@
|
|
1
|
+
report do
|
2
|
+
# ------------------------------------------------------------------------------
|
3
|
+
# memory
|
4
|
+
#
|
5
|
+
stats_mem = {}
|
6
|
+
|
7
|
+
File.open("/proc/meminfo").each do |line|
|
8
|
+
case line
|
9
|
+
when /^MemTotal:\s+(\d+)/
|
10
|
+
stats_mem[:total] = ($1.to_i * 1024)
|
11
|
+
when /^SwapTotal:\s+(\d+)/
|
12
|
+
stats_mem[:swap] = ($1.to_i * 1024)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
# ------------------------------------------------------------------------------
|
17
|
+
# memory (hardware)
|
18
|
+
#
|
19
|
+
mode = nil
|
20
|
+
slot = nil
|
21
|
+
nilrx = /^(?:\s+|none|undefined|0+)$/
|
22
|
+
|
23
|
+
IO.popen("dmidecode -t memory").lines.each do |line|
|
24
|
+
case line.chomp
|
25
|
+
when /^Physical Memory Array$/
|
26
|
+
mode = :controller
|
27
|
+
next
|
28
|
+
when /^Memory Device$/
|
29
|
+
mode = :dimm
|
30
|
+
stats_mem[:@slots] ||= []
|
31
|
+
slot = {}
|
32
|
+
next
|
33
|
+
|
34
|
+
# subvalues
|
35
|
+
when /^\t([^\:]+): (.+)$/
|
36
|
+
key = $1.strip
|
37
|
+
value = $2.strip
|
38
|
+
|
39
|
+
case mode
|
40
|
+
when :controller
|
41
|
+
case key.upcase
|
42
|
+
when 'ERROR CORRECTION TYPE'
|
43
|
+
stats_mem[:ecc] = (value.downcase == 'none' ? false : true)
|
44
|
+
stats_mem[:ecc_type] = value.downcase.gsub('ecc','').strip.gsub(/[\W\s]+/,'_') if stats_mem[:ecc]
|
45
|
+
|
46
|
+
when 'NUMBER OF DEVICES'
|
47
|
+
i = Integer(value.strip) rescue nil
|
48
|
+
stats_mem[:slot_count] = i unless i.nil?
|
49
|
+
|
50
|
+
when 'MAXIMUM CAPACITY'
|
51
|
+
stats_mem[:capacity] = value.to_s.to_bytes
|
52
|
+
|
53
|
+
else
|
54
|
+
next
|
55
|
+
end
|
56
|
+
|
57
|
+
when :dimm
|
58
|
+
case key.upcase
|
59
|
+
when 'SIZE'
|
60
|
+
slot[:size] = value.to_s.to_bytes
|
61
|
+
when 'TYPE'
|
62
|
+
slot[:type] = value.strip
|
63
|
+
when 'BANK LOCATOR'
|
64
|
+
slot[:bank] = value.strip
|
65
|
+
when 'LOCATOR'
|
66
|
+
slot[:id] = value.strip
|
67
|
+
when 'SERIAL NUMBER'
|
68
|
+
slot[:serial] = (value.strip.downcase =~ nilrx ? nil : value)
|
69
|
+
when 'MANUFACTURER'
|
70
|
+
slot[:make] = (value.downcase =~ nilrx ? nil : value)
|
71
|
+
when 'PART NUMBER'
|
72
|
+
slot[:model] = (value.downcase =~ nilrx ? nil : value)
|
73
|
+
when 'SPEED'
|
74
|
+
slot[:speed] = value.split(/\s+/).first.to_i
|
75
|
+
when 'RANK'
|
76
|
+
slot[:rank] = (Integer(value) rescue nil)
|
77
|
+
slot[:empty] = false unless slot[:rank].nil?
|
78
|
+
|
79
|
+
else
|
80
|
+
next
|
81
|
+
end
|
82
|
+
else
|
83
|
+
next
|
84
|
+
end
|
85
|
+
|
86
|
+
when ''
|
87
|
+
if mode == :dimm and not slot.empty?
|
88
|
+
if slot[:rank].nil?
|
89
|
+
slot = {
|
90
|
+
:id => slot[:id],
|
91
|
+
:name => slot[:name],
|
92
|
+
:bank => slot[:bank],
|
93
|
+
:empty => true
|
94
|
+
}
|
95
|
+
end
|
96
|
+
|
97
|
+
stats_mem[:@slots] << slot.compact
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
unless stats_mem[:@slots].nil?
|
103
|
+
begin
|
104
|
+
stats_mem[:@slots] = stats_mem[:@slots].sort_by{|k,v| v[:id] unless v.nil? }
|
105
|
+
rescue
|
106
|
+
nil
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
stat :memory, stats_mem
|
111
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Onering Collector - Xen Properties plugin
|
2
|
+
# provides collection of Xen metadata
|
3
|
+
#
|
4
|
+
report do
|
5
|
+
xen_guests = Facter.value('xen_guests')
|
6
|
+
xen_guest_uuid = Facter.value('xen_uuid')
|
7
|
+
xen = {}
|
8
|
+
|
9
|
+
# xen host
|
10
|
+
xen[:@guests] = xen_guests if xen_guests
|
11
|
+
|
12
|
+
# xen guest
|
13
|
+
xen[:uuid] = xen_guest_uuid if xen_guest_uuid
|
14
|
+
|
15
|
+
property :xen, xen
|
16
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
Gem::Specification.new do |gem|
|
3
|
+
gem.name = 'onering-report'
|
4
|
+
gem.version = "0.6.5"
|
5
|
+
gem.authors = ['rnarkis']
|
6
|
+
gem.email = ['rnarkis@outbrain.com']
|
7
|
+
gem.description = %q{Onering facter facts}
|
8
|
+
gem.summary = %q{Onering facter facts}
|
9
|
+
gem.homepage = ""
|
10
|
+
gem.add_runtime_dependency 'onering-client'
|
11
|
+
gem.add_development_dependency('puppet')
|
12
|
+
gem.add_development_dependency('pry')
|
13
|
+
|
14
|
+
gem.files = `git ls-files`.split($/)
|
15
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
16
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
17
|
+
gem.require_paths = ["lib"]
|
18
|
+
end
|
metadata
ADDED
@@ -0,0 +1,126 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: onering-report
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.6.5
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- rnarkis
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-07-30 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: onering-client
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: puppet
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: pry
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
description: Onering facter facts
|
56
|
+
email:
|
57
|
+
- rnarkis@outbrain.com
|
58
|
+
executables: []
|
59
|
+
extensions: []
|
60
|
+
extra_rdoc_files: []
|
61
|
+
files:
|
62
|
+
- ".gitignore"
|
63
|
+
- ".ruby-gemset"
|
64
|
+
- ".ruby-version"
|
65
|
+
- Gemfile
|
66
|
+
- Gemfile.lock
|
67
|
+
- Makefile
|
68
|
+
- Rakefile
|
69
|
+
- lib/etc/facter.list
|
70
|
+
- lib/facter/onering_disk_smart.rb
|
71
|
+
- lib/facter/onering_properties_chef.rb
|
72
|
+
- lib/facter/onering_properties_haproxy.rb
|
73
|
+
- lib/facter/onering_properties_id.rb
|
74
|
+
- lib/facter/onering_properties_netstat.rb
|
75
|
+
- lib/facter/onering_properties_network.rb
|
76
|
+
- lib/facter/onering_properties_onering.rb
|
77
|
+
- lib/facter/onering_properties_openvz.rb
|
78
|
+
- lib/facter/onering_properties_physical.rb
|
79
|
+
- lib/facter/onering_properties_services.rb
|
80
|
+
- lib/facter/onering_properties_system.rb
|
81
|
+
- lib/facter/onering_properties_virident.rb
|
82
|
+
- lib/facter/onering_properties_xen.rb
|
83
|
+
- lib/facter/onering_properties_zfs.rb
|
84
|
+
- lib/reporter/default/properties_chef.rb
|
85
|
+
- lib/reporter/default/properties_facter.rb
|
86
|
+
- lib/reporter/default/properties_haproxy.rb
|
87
|
+
- lib/reporter/default/properties_ipmi.rb
|
88
|
+
- lib/reporter/default/properties_network.rb
|
89
|
+
- lib/reporter/default/properties_ohai.rb
|
90
|
+
- lib/reporter/default/properties_openvz.rb
|
91
|
+
- lib/reporter/default/properties_physical.rb
|
92
|
+
- lib/reporter/default/properties_services.rb
|
93
|
+
- lib/reporter/default/properties_system_cpu.rb
|
94
|
+
- lib/reporter/default/properties_system_disk_block.rb
|
95
|
+
- lib/reporter/default/properties_system_disk_lvm.rb
|
96
|
+
- lib/reporter/default/properties_system_disk_mounts.rb
|
97
|
+
- lib/reporter/default/properties_system_disk_smart.rb
|
98
|
+
- lib/reporter/default/properties_system_memory.rb
|
99
|
+
- lib/reporter/default/properties_xen.rb
|
100
|
+
- lib/reporter/default/stats_virident.rb
|
101
|
+
- lib/reporter/default/stats_zfs.rb
|
102
|
+
- onering-report.gemspec
|
103
|
+
homepage: ''
|
104
|
+
licenses: []
|
105
|
+
metadata: {}
|
106
|
+
post_install_message:
|
107
|
+
rdoc_options: []
|
108
|
+
require_paths:
|
109
|
+
- lib
|
110
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
111
|
+
requirements:
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: '0'
|
115
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - ">="
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0'
|
120
|
+
requirements: []
|
121
|
+
rubyforge_project:
|
122
|
+
rubygems_version: 2.2.2
|
123
|
+
signing_key:
|
124
|
+
specification_version: 4
|
125
|
+
summary: Onering facter facts
|
126
|
+
test_files: []
|