Sha256: ca49a05f6b63a602bafd11cbc87f1ce9ab7b42e275972cd37a09ff4e7def9a84

Contents?: true

Size: 916 Bytes

Versions: 30

Compression:

Stored size: 916 Bytes

Contents

#!/usr/bin/env ruby

# Gathers munin statistics and submits them to Riemann.

require File.expand_path('../../lib/riemann/tools', __FILE__)

class Riemann::Tools::Munin
  include Riemann::Tools
  require 'munin-ruby'

  def initialize
    @munin = ::Munin::Node.new
  end

  def tick
    services = opts[:services] || @munin.list
    services.each do |service|
      @munin.fetch(service).each do |service, parts|
        parts.each do |part, metric|
          report(
            :service => "#{service} #{part}",
            :metric => metric.to_f,
            :state => 'ok',
            :tags => ['munin']
          )
        end
      end
    end
  end
  
  opt :munin_host, "Munin hostname", :default => 'localhost'
  opt :munin_port, "Munin port", :default => 4949
  opt :services, "Munin services to translate (if not specified, all services are relayed)", :type => :strings
end
  
Riemann::Tools::Munin.run

Version data entries

30 entries across 30 versions & 3 rubygems

Version Path
riemann-tools-0.2.7 bin/riemann-munin
riemann-tools-0.2.6 bin/riemann-munin
riemann-tools-0.2.5 bin/riemann-munin
riemann-tools-0.2.4 bin/riemann-munin
riemann-tools-0.2.3 bin/riemann-munin
riemann-tools-dgvz-0.2.2.3 bin/riemann-munin
riemann-tools-dgvz-0.2.2.2 bin/riemann-munin
riemann-tools-dgvz-0.2.2.1 bin/riemann-munin
riemann-tools-0.2.2 bin/riemann-munin
riemann-tools-0.2.1 bin/riemann-munin
riemann-tools-0.2.0 bin/riemann-munin
riemann-tools-0.1.9 bin/riemann-munin
riemann-tools.haf-0.1.9 bin/riemann-munin
riemann-tools-0.1.8 bin/riemann-munin
riemann-tools-0.1.7 bin/riemann-munin
riemann-tools-0.1.6 bin/riemann-munin
riemann-tools-0.1.5 bin/riemann-munin
riemann-tools-0.1.4 bin/riemann-munin
riemann-tools-0.1.3 bin/riemann-munin
riemann-tools-0.1.2 bin/riemann-munin