Class: Salus::ZabbixSenderRenderer
- Inherits:
-
BaseRenderer
- Object
- BaseRenderer
- Salus::ZabbixSenderRenderer
- Defined in:
- lib/salus/renderer/zabbixsender.rb
Instance Method Summary collapse
Methods inherited from BaseRenderer
descendants, inherited, #initialize, #iterate
Methods included from Logging
Constructor Details
This class inherits a constructor from Salus::BaseRenderer
Instance Method Details
#render(data) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/salus/renderer/zabbixsender.rb', line 3 def render(data) # Top level groups are considered hostnames result = {} data.each do |hostname, group| iterate(group) do |name, metric| unless metric..nil? = metric..to_i name = name.gsub(/\.\[/, '[') name = name.to_json if (name.match(/\s/)) value = metric.value value = '""' if value.nil? value = value.to_json if (!value.nil? && metric.is_a?(Salus::Text)) result[] = [] unless result.key?() result[] << "#{hostname.dump} #{name} #{} #{value}" end end end # Zabbix requires timestamps to be sorted result.keys.sort.each { |k| STDOUT.puts result[k] } end |