Sha256: d175d5711d0e2b9c575c0886dd8bddae83f25231edb2e8e132abbd7ec599e9fa

Contents?: true

Size: 1.42 KB

Versions: 1

Compression:

Stored size: 1.42 KB

Contents

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

class LogStash::Filters::Stag < LogStash::Filters::Base

  # Setting the config_name here is required. This is how you
  # configure this filter from your Logstash config.
  #
  # filter {
  #   stag {
  #   }
  # }
  #
  config_name "stag"
  
  # Replace the message with this value.
  #config :message, :validate => :string, :default => "Hello World!"
  #config :message, :validate => :string
  
  public
  def register
    # Add instance variables 
    @meta = {
      "skp-vgfcsypweb1" => {
        "service" => ["gc_com","gc_mobile"],
        "htype" => "web"
      }
    }
  end # def register

  # https://github.com/logstash-plugins/logstash-filter-zeromq/blob/master/lib/logstash/filters/zeromq.rb
  public
  def filter(event)
    @logger.info("Running", :event => event) 

    dataset = LogStash::Json.load(event["message"])
    puts "event ===================="
    puts "event.message=#{event["message"]}"
    puts "json encode=#{dataset}"
    puts "event.host=#{dataset["host"]}"
    puts "#{@meta[dataset["host"]]["service"]}"

    service = @meta[dataset["host"]]["service"]

    dataset["service"] = service

    event["message"] = dataset

    @logger.info("=====================")

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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
logstash-filter-stag-0.0.2 lib/logstash/filters/stag.rb