Sha256: 9fb22c472c1215df249f138f4601d13cc08ae63571c2f9d4b9f1fbab4fef153e
Contents?: true
Size: 1.26 KB
Versions: 1
Compression:
Stored size: 1.26 KB
Contents
require 'fluent/plugin/geoip' module Fluent class GeoipFilter < Filter Plugin.register_filter('geoip', self) config_param :geoip_database, :string, :default => File.dirname(__FILE__) + '/../../../data/GeoLiteCity.dat' config_param :geoip2_database, :string, :default => File.dirname(__FILE__) + '/../../../data/GeoLite2-City.mmdb' config_param :geoip_lookup_key, :string, :default => 'host' config_param :skip_adding_null_record, :bool, :default => false include Fluent::SetTagKeyMixin config_set_default :include_tag_key, false config_param :hostname_command, :string, :default => 'hostname' config_param :log_level, :string, :default => 'warn' config_param :backend_library, :enum, :list => Fluent::GeoIP::BACKEND_LIBRARIES, :default => :geoip def configure(conf) super @geoip = Fluent::GeoIP.new(self, conf) end def filter_stream(tag, es) new_es = MultiEventStream.new es.each do |time, record| begin filter_record(tag, time, record) filtered_record = @geoip.add_geoip_field(record) new_es.add(time, filtered_record) if filtered_record rescue => e router.emit_error_event(tag, time, record, e) end end new_es end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fluent-plugin-geoip-0.8.2 | lib/fluent/plugin/filter_geoip.rb |