fluent-plugin-geoip 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +2 -0
- data/data/GeoLiteCity.dat +0 -0
- data/fluent-plugin-geoip.gemspec +1 -1
- data/lib/fluent/plugin/out_geoip.rb +1 -1
- data/test/plugin/test_out_geoip.rb +6 -6
- metadata +2 -2
data/README.md
CHANGED
@@ -53,6 +53,7 @@ $ sudo /usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-geoip
|
|
53
53
|
latitude ${latitude['host']}
|
54
54
|
longitude ${longitude['host']}
|
55
55
|
country_code3 ${country_code3['host']}
|
56
|
+
country_code2 ${country_code2['host']}
|
56
57
|
country ${country_code['host']}
|
57
58
|
country_name ${country_name['host']}
|
58
59
|
dma ${dma_code['host']}
|
@@ -168,6 +169,7 @@ Provides these placeholders for adding field of geolocate results.
|
|
168
169
|
* ${latitude[lookup_field]}
|
169
170
|
* ${longitude[lookup_field]}
|
170
171
|
* ${country_code3[lookup_field]}
|
172
|
+
* ${country_code2[lookup_field]}
|
171
173
|
* ${country_code[lookup_field]}
|
172
174
|
* ${country_name[lookup_field]}
|
173
175
|
* ${dma_code[lookup_field]}
|
data/data/GeoLiteCity.dat
CHANGED
Binary file
|
data/fluent-plugin-geoip.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "fluent-plugin-geoip"
|
7
|
-
spec.version = "0.
|
7
|
+
spec.version = "0.3.0"
|
8
8
|
spec.authors = ["Kentaro Yoshida"]
|
9
9
|
spec.email = ["y.ken.studio@gmail.com"]
|
10
10
|
spec.summary = %q{Fluentd Output plugin to add information about geographical location of IP addresses with Maxmind GeoIP databases.}
|
@@ -6,7 +6,7 @@ class Fluent::GeoipOutput < Fluent::BufferedOutput
|
|
6
6
|
REGEXP_JSON = /(^[\[\{].+[\]\}]$|^[\d\.\-]+$)/
|
7
7
|
REGEXP_PLACEHOLDER_SINGLE = /^\$\{(?<geoip_key>-?[^\[]+)\['(?<record_key>-?[^']+)'\]\}$/
|
8
8
|
REGEXP_PLACEHOLDER_SCAN = /(\$\{[^\}]+?\})/
|
9
|
-
GEOIP_KEYS = %w(city latitude longitude country_code3 country_code country_name dma_code area_code region)
|
9
|
+
GEOIP_KEYS = %w(city latitude longitude country_code3 country_code2 country_code country_name dma_code area_code region)
|
10
10
|
|
11
11
|
config_param :geoip_database, :string, :default => File.dirname(__FILE__) + '/../../../data/GeoLiteCity.dat'
|
12
12
|
config_param :geoip_lookup_key, :string, :default => 'host'
|
@@ -184,14 +184,14 @@ class GeoipOutputTest < Test::Unit::TestCase
|
|
184
184
|
add_tag_prefix geoip.
|
185
185
|
], 'input.access')
|
186
186
|
d1.run do
|
187
|
-
d1.emit({'from' => {'ip' => '66.102.3.80'}, 'to' => {'ip' => '125.54.
|
187
|
+
d1.emit({'from' => {'ip' => '66.102.3.80'}, 'to' => {'ip' => '125.54.15.42'}})
|
188
188
|
d1.emit({'message' => 'missing field'})
|
189
189
|
end
|
190
190
|
emits = d1.emits
|
191
191
|
assert_equal 2, emits.length
|
192
192
|
assert_equal 'geoip.access', emits[0][0] # tag
|
193
193
|
assert_equal 'Mountain View', emits[0][2]['from_city']
|
194
|
-
assert_equal '
|
194
|
+
assert_equal 'Tokorozawa', emits[0][2]['to_city']
|
195
195
|
assert_equal nil, emits[1][2]['from_city']
|
196
196
|
assert_equal nil, emits[1][2]['to_city']
|
197
197
|
end
|
@@ -205,7 +205,7 @@ class GeoipOutputTest < Test::Unit::TestCase
|
|
205
205
|
add_tag_prefix geoip.
|
206
206
|
], 'input.access')
|
207
207
|
d1.run do
|
208
|
-
d1.emit({'from' => {'ip' => '66.102.3.80'}, 'to' => {'ip' => '125.54.
|
208
|
+
d1.emit({'from' => {'ip' => '66.102.3.80'}, 'to' => {'ip' => '125.54.15.42'}})
|
209
209
|
d1.emit({'from' => {'ip' => '66.102.3.80'}})
|
210
210
|
d1.emit({'message' => 'missing field'})
|
211
211
|
end
|
@@ -214,7 +214,7 @@ class GeoipOutputTest < Test::Unit::TestCase
|
|
214
214
|
assert_equal 'geoip.access', emits[0][0] # tag
|
215
215
|
assert_equal 'Mountain View', emits[0][2]['from_city']
|
216
216
|
assert_equal 'United States', emits[0][2]['from_country']
|
217
|
-
assert_equal '
|
217
|
+
assert_equal 'Tokorozawa', emits[0][2]['to_city']
|
218
218
|
assert_equal 'Japan', emits[0][2]['to_country']
|
219
219
|
|
220
220
|
assert_equal 'Mountain View', emits[1][2]['from_city']
|
@@ -307,7 +307,7 @@ class GeoipOutputTest < Test::Unit::TestCase
|
|
307
307
|
tag geoip.${tag}
|
308
308
|
], 'input.access')
|
309
309
|
d1.run do
|
310
|
-
d1.emit({'from' => {'ip' => '66.102.3.80'}, 'to' => {'ip' => '125.54.
|
310
|
+
d1.emit({'from' => {'ip' => '66.102.3.80'}, 'to' => {'ip' => '125.54.15.42'}})
|
311
311
|
d1.emit({'message' => 'missing field'})
|
312
312
|
end
|
313
313
|
emits = d1.emits
|
@@ -316,7 +316,7 @@ class GeoipOutputTest < Test::Unit::TestCase
|
|
316
316
|
assert_equal 'geoip.access', emits[0][0] # tag
|
317
317
|
assert_equal 'Mountain View', emits[0][2]['from_city']
|
318
318
|
assert_equal 'United States', emits[0][2]['from_country']
|
319
|
-
assert_equal '
|
319
|
+
assert_equal 'Tokorozawa', emits[0][2]['to_city']
|
320
320
|
assert_equal 'Japan', emits[0][2]['to_country']
|
321
321
|
assert_equal ['United States','Japan'], emits[0][2]['string_array']
|
322
322
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-geoip
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-11-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|