Sha256: 68997d140006936a3b9c9ac0e3289c87d4ddc1c9cf406d6f6ef64cee9f25eef5

Contents?: true

Size: 1.03 KB

Versions: 3

Compression:

Stored size: 1.03 KB

Contents

# encoding: utf-8
require "logstash/filters/base"
require "logstash/namespace"

# Logstash filter to parse OUI data from MAC addresses
class LogStash::Filters::Oui < LogStash::Filters::Base

  # Setting the config_name here is required. This is how you
  # configure this filter from your Logstash config.
  #
  # filter {
  #   example {
  #     message => "My message..."
  #   }
  # }
  #
  config_name "oui"

  # The source field to parse
  config :source, :validate => :string, :default => "message"

  # The target field to place all the data
  config :target, :validate => :string, :default => "oui"

  public
  def register
    require 'oui'
  end # def register

  public
  def filter(event)

    oui = OUI.find event.get(@source)
    if ! oui.nil?
      event.set(@target, Hash.new)
      oui.each do |key, value|
        event.set("[#{@target}][#{key.to_s}]", value)
      end

      # filter_matched should go in the last line of our successful code
      filter_matched(event)
    end
  end # def filter
end # class LogStash::Filters::Oui

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
logstash-filter-oui-3.0.2-java lib/logstash/filters/oui.rb
logstash-filter-oui-3.0.1-java lib/logstash/filters/oui.rb
logstash-filter-oui-3.0.0-java lib/logstash/filters/oui.rb