Sha256: 7ebd52f9ea84961b42377299ab75b7ec903517ba43da54e399903c945bcd8ecd

Contents?: true

Size: 912 Bytes

Versions: 20

Compression:

Stored size: 912 Bytes

Contents

#!/usr/bin/env ruby

# Gathers memcached STATS and submits them to Riemann.

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

class Riemann::Tools::Memcached
  include Riemann::Tools
  require 'socket'

  opt :memcached_host, "Memcached hostname", :default => 'localhost'
  opt :memcached_port, "Memcached port", :default => 11211

  def tick
    sock = TCPSocket.new(opts[:memcached_host], opts[:memcached_port])
    sock.print("stats\r\n")
    sock.flush
    stats = sock.gets

    data = {}
    while true
      stats = sock.gets
      break if stats.strip == 'END'
      m = stats.match /STAT (\w+) (\S+)/
      report(
             :host => opts[:memcached_host].dup,
             :service => "memcached #{m[1]}",
             :metric => m[2].to_f,
             :state => 'ok',
             :tags => ['memcached']
             )
    end
    sock.close
  end
end

Riemann::Tools::Memcached.run

Version data entries

20 entries across 20 versions & 3 rubygems

Version Path
riemann-tools-0.2.14 bin/riemann-memcached
riemann-tools-0.2.13 bin/riemann-memcached
riemann-tools-0.2.11 bin/riemann-memcached
riemann-tools-0.2.10 bin/riemann-memcached
riemann-tools-0.2.9 bin/riemann-memcached
riemann-tools-0.2.8 bin/riemann-memcached
riemann-tools-0.2.7 bin/riemann-memcached
riemann-tools-0.2.6 bin/riemann-memcached
riemann-tools-0.2.5 bin/riemann-memcached
riemann-tools-0.2.4 bin/riemann-memcached
riemann-tools-0.2.3 bin/riemann-memcached
riemann-tools-dgvz-0.2.2.3 bin/riemann-memcached
riemann-tools-dgvz-0.2.2.2 bin/riemann-memcached
riemann-tools-dgvz-0.2.2.1 bin/riemann-memcached
riemann-tools-0.2.2 bin/riemann-memcached
riemann-tools-0.2.1 bin/riemann-memcached
riemann-tools-0.2.0 bin/riemann-memcached
riemann-tools-0.1.9 bin/riemann-memcached
riemann-tools.haf-0.1.9 bin/riemann-memcached
riemann-tools-0.1.8 bin/riemann-memcached