Sha256: 0483aba34d941d2bc2207a3156d476baff3853667b0e019c9a1cc9068d993c7b

Contents?: true

Size: 1.46 KB

Versions: 10

Compression:

Stored size: 1.46 KB

Contents

#!/usr/bin/env ruby
#
# Graphite
# ===
#
# DESCRIPTION:
#   This mutator is an extension of the OnlyCheckOutput mutator, but
#   modified for Graphite metrics. This mutator only sends event output
#   (so you don't need to use OnlyCheckOutput) and it also modifies
#   the format of the hostname in the output if present.
#
#   Note however that using this mutator as a mutator command can be very
#   expensive, as Sensu has to spawn a new Ruby process to launch this script
#   for each result of a metrics check. Consider instead producing the correct
#   metric names from your plugin and sending them directly to Graphite via the
#   socket handler.
#   See https://groups.google.com/d/msg/sensu-users/1hkRSvL48ck/8Dhl98lR24kJ
#   for more information.
#
# OUTPUT:
#   Sensu event output with all dots changed to underlines in host name
#   If -r or --reverse parameter given script put hostname in reverse order
#   for better Graphite tree view
#
# PLATFORM:
#   all
#
# DEPENDENCIES:
#   none
#
# Copyright 2013 Peter Kepes <https://github.com/kepes>
#
# Released under the same terms as Sensu (the MIT license); see LICENSE
# for details.
require 'json'

# parse event
event = JSON.parse(STDIN.read, symbolize_names: true)

if ARGV[0] == '-r' || ARGV[0] == '--reverse'
  puts event[:check][:output].gsub(event[:client][:name], event[:client][:name].split('.').reverse.join('.'))
else
  puts event[:check][:output].gsub(event[:client][:name], event[:client][:name].tr('.', '_'))
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
sensu-plugins-graphite-boutetnico-1.0.0 bin/mutator-graphite.rb
sensu-plugins-graphite-3.1.1 bin/mutator-graphite.rb
sensu-plugins-graphite-3.1.0 bin/mutator-graphite.rb
sensu-plugins-graphite-3.0.0 bin/mutator-graphite.rb
sensu-plugins-graphite-2.3.0 bin/mutator-graphite.rb
sensu-plugins-graphite-2.2.1 bin/mutator-graphite.rb
sensu-plugins-graphite-2.2.0 bin/mutator-graphite.rb
sensu-plugins-graphite-2.1.0 bin/mutator-graphite.rb
sensu-plugins-graphite-2.0.0 bin/mutator-graphite.rb
sensu-plugins-graphite-1.1.0 bin/mutator-graphite.rb