Module: FFWD::Plugin::Riemann

Includes:
Logging, FFWD::Plugin
Defined in:
lib/ffwd/plugin/riemann/connection.rb,
lib/ffwd/plugin/riemann/version.rb,
lib/ffwd/plugin/riemann/shared.rb,
lib/ffwd/plugin/riemann/output.rb,
lib/ffwd/plugin/riemann.rb

Overview

$LICENSE Copyright 2013-2014 Spotify AB. All rights reserved.

The contents of this file are licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Defined Under Namespace

Modules: Connection, Output, Shared Classes: InputTCP, InputUDP, OutputTCP, OutputUDP

Constant Summary collapse

VERSION =
"0.4.7"
MAPPING =
[
  [:key, :service, :service=],
  [:value, :metric, :metric=],
  [:host, :host, :host=],
]
METRIC_MAPPING =
MAPPING
EVENT_MAPPING =
[
  [:state, :state, :state=],
  [:description, :description, :description=],
  [:ttl, :ttl, :ttl=],
] + MAPPING
DEFAULT_HOST =
"localhost"
DEFAULT_PORT =
5555
DEFAULT_PROTOCOL =
'tcp'
OUTPUTS =
{:tcp => OutputTCP, :udp => OutputUDP}
INPUTS =
{:tcp => InputTCP, :udp => InputUDP}

Class Method Summary collapse

Class Method Details

.setup_input(config) ⇒ Object



139
140
141
142
143
144
145
146
147
148
149
150
151
# File 'lib/ffwd/plugin/riemann.rb', line 139

def self.setup_input config
  config[:host] ||= DEFAULT_HOST
  config[:port] ||= DEFAULT_PORT
  config[:protocol] ||= DEFAULT_PROTOCOL

  protocol = FFWD.parse_protocol config[:protocol]

  unless connection = INPUTS[protocol.family]
    raise "No connection for protocol family: #{protocol.family}"
  end

  protocol.bind config, log, connection
end

.setup_output(config) ⇒ Object



125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/ffwd/plugin/riemann.rb', line 125

def self.setup_output config
  config[:host] ||= DEFAULT_HOST
  config[:port] ||= DEFAULT_PORT
  config[:protocol] ||= DEFAULT_PROTOCOL

  protocol = FFWD.parse_protocol config[:protocol]

  unless handler = OUTPUTS[protocol.family]
    raise "No handler for protocol family: #{protocol.family}"
  end

  protocol.connect config, log, handler
end