Sha256: c3db776d754e9131651671666243d98cd19e470b98749aac1e46302ee92a2ff3
Contents?: true
Size: 836 Bytes
Versions: 1
Compression:
Stored size: 836 Bytes
Contents
module Salus class ZabbixSenderRenderer < BaseRenderer def render(data) # Top level groups are considered hostnames result = {} data.each do |hostname, group| iterate(group) do |name, metric| unless metric.timestamp.nil? timestamp = metric.timestamp.to_i name = name.gsub(/\.\[/, '[') value = metric.value value = '""' if value.nil? value = value.to_json if (!value.nil? && metric.is_a?(Salus::Text)) result[timestamp] = [] unless result.key?(timestamp) result[timestamp] << "#{hostname.dump} #{name} #{timestamp} #{value}" end end end # Zabbix requires timestamps to be sorted result.keys.sort.each { |k| STDOUT.puts result[k] } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
salus-0.1.2 | lib/salus/renderer/zabbixsender.rb |