Class: Reacter::Message::CollectdParser
- Defined in:
- lib/reacter/parsers/collectd.rb
Class Method Summary collapse
Methods inherited from Parser
Class Method Details
.detected?(message) ⇒ Boolean
7 8 9 |
# File 'lib/reacter/parsers/collectd.rb', line 7 def detected?() ([0..6] == 'PUTVAL ') end |
.dump(message) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/reacter/parsers/collectd.rb', line 26 def dump() = .to_h if .is_a?(Message) return nil unless .is_a?(Hash) return nil unless [:source] return nil unless [:metric] return nil unless [:value] return nil unless [:time] ([ 'PUTVAL', "#{[:source]}/#{[:metric]}", ([:attributes] || {}).collect{|k,v| "#{k}=#{v}"}.join(';'), "#{([:time] / 1000).to_i}:#{[:value]}" ].join(' ')).strip end |
.parse(message) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/reacter/parsers/collectd.rb', line 11 def parse() = .split(' ') source, plugin, type = [1].split('/') attributes = Hash[[2].split(';').collect{|i| i.split('=',2) }] time, value = [3].split(':') { :source => source, :metric => [plugin, type].join('.'), :time => (time.to_i * 1000), :value => value.to_f, :attributes => attributes } end |