class LogStash::Inputs::Courier

Receive events over the Log Courier protocol

Constants

RAW_EVENTS

Public Instance Methods

register() click to toggle source
# File lib/logstash/inputs/courier.rb, line 94
def register
  @logger.info(
    'Starting courier input listener',
    address: "#{@host}:#{@port}"
  )

  require 'log-courier/server'
  @log_courier = LogCourier::Server.new options
end
run(output_queue) click to toggle source

Logstash < 2.0.0 shutdown raises LogStash::ShutdownSignal in this thread The exception implicitly stops the log-courier gem using an ensure block and is then caught by the pipeline worker - so we needn't do anything here

# File lib/logstash/inputs/courier.rb, line 107
def run(output_queue)
  @log_courier.run do |event|
    if event.key?('tags') && !event['tags'].is_a?(Array)
      event['tags'] = [event['tags']]
    end
    event = LogStash::Event.new(event)
    decorate event
    output_queue << event
  end
end
stop() click to toggle source

Logstash >= 2.0.0 shutdown

# File lib/logstash/inputs/courier.rb, line 119
def stop
  @log_courier.stop
end

Private Instance Methods

add_override_options(result) click to toggle source
# File lib/logstash/inputs/courier.rb, line 144
def add_override_options(result)
  # Honour the defaults in the LogCourier gem
  [:max_packet_size, :peer_recv_queue, :add_peer_fields].each do |k|
    result[k] = send(k) unless send(k).nil?
  end
  result
end
add_plugin_options(result) click to toggle source
# File lib/logstash/inputs/courier.rb, line 134
def add_plugin_options(result)
  [
    :logger, :address, :port, :transport, :ssl_certificate, :ssl_key,
    :ssl_key_passphrase, :ssl_verify, :ssl_verify_default_ca,
    :ssl_verify_ca, :curve_secret_key
  ].each do |k|
    result[k] = send(k)
  end
end
address() click to toggle source
# File lib/logstash/inputs/courier.rb, line 152
def address
  # TODO: Fix this naming inconsistency
  @host
end
options() click to toggle source
# File lib/logstash/inputs/courier.rb, line 125
def options
  result = {
    raw_events: RAW_EVENTS
  }

  add_plugin_options result
  add_override_options result
end