logstash-filter-geoip 3.0.1-java → 4.0.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -5
- data/Gemfile +3 -1
- data/lib/logstash/filters/geoip.rb +3 -3
- data/logstash-filter-geoip.gemspec +2 -2
- data/spec/filters/geoip_spec.rb +19 -20
- metadata +16 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0d593eaa0190aff6047ca64ff4ef20e7978d5cb
|
4
|
+
data.tar.gz: c2038e7fbd83c2bed569db62a2e9978fd9279eb7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4637a333526e7117f25c5bf51e165969893a845f1e7ee99dbd2011165f4ef08ab9b882e8ed30ae1a7d62560b3adef856ae7d92528665be5169c28e9bd071621a
|
7
|
+
data.tar.gz: 0c07f47a558b6e9d065341b50057dee4348984724b58903a9607c618bb4c4888f31117d9bc9251d315a32f3990981f30380ac535270608a6f281656a76496e77
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,6 @@
|
|
1
|
-
|
2
|
-
-
|
3
|
-
|
4
|
-
# 3.0.0
|
5
|
-
- GA release of GeoIP2 support to be compatible with LS 2.x
|
1
|
+
## 4.0.0
|
2
|
+
- Update the plugin to the version 2.0 of the plugin api, this change is required for Logstash 5.0 compatibility. See https://github.com/elastic/logstash/issues/5141
|
3
|
+
- GA release for GeoIP2 database, compatible with LS 5.x
|
6
4
|
|
7
5
|
# 3.0.0-beta3
|
8
6
|
- Return empty result when IP lookup fails for location field (#70)
|
data/Gemfile
CHANGED
@@ -151,7 +151,7 @@ class LogStash::Filters::GeoIP < LogStash::Filters::Base
|
|
151
151
|
return unless filter?(event)
|
152
152
|
|
153
153
|
begin
|
154
|
-
ip = event
|
154
|
+
ip = event.get(@source)
|
155
155
|
ip = ip.first if ip.is_a? Array
|
156
156
|
geo_data_hash = Hash.new
|
157
157
|
ip_address = InetAddress.getByName(ip)
|
@@ -167,7 +167,7 @@ class LogStash::Filters::GeoIP < LogStash::Filters::Base
|
|
167
167
|
raise e
|
168
168
|
end
|
169
169
|
|
170
|
-
event
|
170
|
+
event.set(@target, geo_data_hash)
|
171
171
|
|
172
172
|
if geo_data_hash.empty?
|
173
173
|
tag_unsuccessful_lookup(event)
|
@@ -229,7 +229,7 @@ class LogStash::Filters::GeoIP < LogStash::Filters::Base
|
|
229
229
|
end
|
230
230
|
|
231
231
|
def tag_unsuccessful_lookup(event)
|
232
|
-
@logger.debug? && @logger.debug("IP #{event
|
232
|
+
@logger.debug? && @logger.debug("IP #{event.get(@source)} was not found in the database", :event => event)
|
233
233
|
@tag_on_failure.each{|tag| event.tag(tag)}
|
234
234
|
end
|
235
235
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
|
3
3
|
s.name = 'logstash-filter-geoip'
|
4
|
-
s.version = '
|
4
|
+
s.version = '4.0.0'
|
5
5
|
s.licenses = ['Apache License (2.0)']
|
6
6
|
s.summary = "$summary"
|
7
7
|
s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
|
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.metadata = { "logstash_plugin" => "true", "logstash_group" => "filter" }
|
22
22
|
|
23
23
|
# Gem dependencies
|
24
|
-
s.add_runtime_dependency "logstash-core-plugin-api", "~>
|
24
|
+
s.add_runtime_dependency "logstash-core-plugin-api", "~> 2.0"
|
25
25
|
|
26
26
|
s.requirements << "jar com.maxmind.geoip2:geoip2, 2.5.0, :exclusions=> [com.google.http-client:google-http-client]"
|
27
27
|
|
data/spec/filters/geoip_spec.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
require "logstash/devutils/rspec/spec_helper"
|
3
2
|
require "logstash/filters/geoip"
|
4
3
|
|
@@ -24,13 +23,13 @@ describe LogStash::Filters::GeoIP do
|
|
24
23
|
latitude longitude dma_code timezone
|
25
24
|
location )
|
26
25
|
expected_fields.each do |f|
|
27
|
-
insist { subject
|
26
|
+
insist { subject.get("geoip") }.include?(f)
|
28
27
|
end
|
29
28
|
end
|
30
29
|
|
31
30
|
sample("ip" => "127.0.0.1") do
|
32
31
|
# assume geoip fails on localhost lookups
|
33
|
-
expect(subject
|
32
|
+
expect(subject.get("geoip")).to eq({})
|
34
33
|
end
|
35
34
|
end
|
36
35
|
|
@@ -56,19 +55,19 @@ describe LogStash::Filters::GeoIP do
|
|
56
55
|
latitude longitude dma_code timezone
|
57
56
|
location )
|
58
57
|
expected_fields.each do |f|
|
59
|
-
expect(subject
|
58
|
+
expect(subject.get("src_ip")).to include(f)
|
60
59
|
end
|
61
60
|
end
|
62
61
|
|
63
62
|
sample("ip" => "127.0.0.1") do
|
64
63
|
# assume geoip fails on localhost lookups
|
65
|
-
expect(subject
|
64
|
+
expect(subject.get("src_ip")).to eq({})
|
66
65
|
end
|
67
66
|
end
|
68
67
|
|
69
68
|
context "when specifying add_tag" do
|
70
69
|
sample("ip" => "8.8.8.8") do
|
71
|
-
expect(subject
|
70
|
+
expect(subject.get("tags")).to include("done")
|
72
71
|
end
|
73
72
|
end
|
74
73
|
end
|
@@ -88,9 +87,9 @@ describe LogStash::Filters::GeoIP do
|
|
88
87
|
sample("ip" => "1.1.1.1") do
|
89
88
|
checked = 0
|
90
89
|
expected_fields.each do |f|
|
91
|
-
next unless subject
|
90
|
+
next unless subject.get("geoip")[f]
|
92
91
|
checked += 1
|
93
|
-
insist { subject
|
92
|
+
insist { subject.get("geoip")[f].encoding } == Encoding::UTF_8
|
94
93
|
end
|
95
94
|
insist { checked } > 0
|
96
95
|
end
|
@@ -98,9 +97,9 @@ describe LogStash::Filters::GeoIP do
|
|
98
97
|
sample("ip" => "189.2.0.0") do
|
99
98
|
checked = 0
|
100
99
|
expected_fields.each do |f|
|
101
|
-
next unless subject
|
100
|
+
next unless subject.get("geoip")[f]
|
102
101
|
checked += 1
|
103
|
-
insist { subject
|
102
|
+
insist { subject.get("geoip")[f].encoding } == Encoding::UTF_8
|
104
103
|
end
|
105
104
|
insist { checked } > 0
|
106
105
|
end
|
@@ -118,7 +117,7 @@ describe LogStash::Filters::GeoIP do
|
|
118
117
|
end
|
119
118
|
|
120
119
|
it "should have a location field" do
|
121
|
-
expect(event
|
120
|
+
expect(event.get("[geoip][location]")).not_to(be_nil)
|
122
121
|
end
|
123
122
|
end
|
124
123
|
|
@@ -171,11 +170,11 @@ describe LogStash::Filters::GeoIP do
|
|
171
170
|
let(:ipstring) { "N/A" }
|
172
171
|
|
173
172
|
it "should set the target field to an empty hash" do
|
174
|
-
expect(event
|
173
|
+
expect(event.get("geoip")).to eq({})
|
175
174
|
end
|
176
175
|
|
177
176
|
it "should add failure tags" do
|
178
|
-
expect(event
|
177
|
+
expect(event.get("tags")).to include("_geoip_lookup_failure")
|
179
178
|
end
|
180
179
|
end
|
181
180
|
|
@@ -184,7 +183,7 @@ describe LogStash::Filters::GeoIP do
|
|
184
183
|
let(:ipstring) { "123.45.67.89,61.160.232.222" }
|
185
184
|
|
186
185
|
it "should set the target field to an empty hash" do
|
187
|
-
expect(event
|
186
|
+
expect(event.get("geoip")).to eq({})
|
188
187
|
end
|
189
188
|
end
|
190
189
|
|
@@ -192,8 +191,8 @@ describe LogStash::Filters::GeoIP do
|
|
192
191
|
let(:ipstring) { "113.208.89.21" }
|
193
192
|
|
194
193
|
it "should set the target field to an empty hash" do
|
195
|
-
expect(event
|
196
|
-
expect(event
|
194
|
+
expect(event.get("geoip")).to eq({})
|
195
|
+
expect(event.get("tags")).to include("_geoip_lookup_failure")
|
197
196
|
end
|
198
197
|
end
|
199
198
|
|
@@ -201,7 +200,7 @@ describe LogStash::Filters::GeoIP do
|
|
201
200
|
let(:ipstring) { "::1" }
|
202
201
|
|
203
202
|
it "should set the target field to an empty hash" do
|
204
|
-
expect(event
|
203
|
+
expect(event.get("geoip")).to eq({})
|
205
204
|
end
|
206
205
|
end
|
207
206
|
|
@@ -209,8 +208,8 @@ describe LogStash::Filters::GeoIP do
|
|
209
208
|
let(:ipstring) { "2607:f0d0:1002:51::4" }
|
210
209
|
|
211
210
|
it "should set the target field to an empty hash" do
|
212
|
-
expect(event
|
213
|
-
expect(event
|
211
|
+
expect(event.get("geoip")).not_to be_empty
|
212
|
+
expect(event.get("geoip")["city_name"]).not_to be_nil
|
214
213
|
end
|
215
214
|
end
|
216
215
|
|
@@ -243,4 +242,4 @@ describe LogStash::Filters::GeoIP do
|
|
243
242
|
end
|
244
243
|
end
|
245
244
|
|
246
|
-
end
|
245
|
+
end
|
metadata
CHANGED
@@ -1,33 +1,33 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-filter-geoip
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
|
-
- -
|
16
|
+
- - ~>
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: '
|
18
|
+
version: '2.0'
|
19
19
|
name: logstash-core-plugin-api
|
20
20
|
prerelease: false
|
21
21
|
type: :runtime
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
30
|
-
- -
|
30
|
+
- - '>='
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '0'
|
33
33
|
name: jar-dependencies
|
@@ -35,13 +35,13 @@ dependencies:
|
|
35
35
|
type: :development
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- -
|
44
|
+
- - ~>
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '3.3'
|
47
47
|
name: ruby-maven
|
@@ -49,13 +49,13 @@ dependencies:
|
|
49
49
|
type: :development
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.3'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- -
|
58
|
+
- - '>='
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '0'
|
61
61
|
name: logstash-devutils
|
@@ -63,7 +63,7 @@ dependencies:
|
|
63
63
|
type: :development
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
description: This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program
|
@@ -105,20 +105,20 @@ require_paths:
|
|
105
105
|
- lib
|
106
106
|
required_ruby_version: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - '>='
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
112
112
|
requirements:
|
113
|
-
- -
|
113
|
+
- - '>='
|
114
114
|
- !ruby/object:Gem::Version
|
115
115
|
version: '0'
|
116
116
|
requirements:
|
117
117
|
- jar com.maxmind.geoip2:geoip2, 2.5.0, :exclusions=> [com.google.http-client:google-http-client]
|
118
118
|
rubyforge_project:
|
119
|
-
rubygems_version: 2.
|
119
|
+
rubygems_version: 2.4.5
|
120
120
|
signing_key:
|
121
121
|
specification_version: 4
|
122
|
-
summary:
|
122
|
+
summary: $summary
|
123
123
|
test_files:
|
124
124
|
- spec/filters/geoip_spec.rb
|