logstash-filter-dns 2.1.3 → 3.0.0
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 +2 -0
- data/Gemfile +3 -1
- data/LICENSE +1 -1
- data/README.md +12 -3
- data/lib/logstash/filters/dns.rb +15 -11
- data/logstash-filter-dns.gemspec +3 -3
- data/spec/filters/dns_spec.rb +23 -23
- metadata +32 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b81dd2e483bae6eaa02ecf1a3eb7ef0558353a0f
|
4
|
+
data.tar.gz: 930ea7507738f0930dc969336ef32194abc4bb55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2094391841c6c1361b727fed619059e541c8302f79b3d1ff707e2cda8cb34c995b2f961c618bca91e127eba67573b0bfab34fd9ebf22ac29349c3cca1a722e92
|
7
|
+
data.tar.gz: 4224d854c2c50f2b4d2f8dc591b6026a6efe49bf4c0d86122c96ca40420aea9edf39976957f7b7e2d23d8c829a34616bb08c9cdb0d480e2632180755782ef71d
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# Logstash Plugin
|
2
2
|
|
3
|
-
[](http://build-eu-00.elastic.co/view/LS%20Plugins/view/LS%20Filters/job/logstash-plugin-filter-dns-unit/)
|
3
|
+
[](https://travis-ci.org/logstash-plugins/logstash-filter-dns)
|
5
4
|
|
6
5
|
This is a plugin for [Logstash](https://github.com/elastic/logstash).
|
7
6
|
|
@@ -56,7 +55,12 @@ gem "logstash-filter-awesome", :path => "/your/local/logstash-filter-awesome"
|
|
56
55
|
```
|
57
56
|
- Install plugin
|
58
57
|
```sh
|
58
|
+
# Logstash 2.3 and higher
|
59
|
+
bin/logstash-plugin install --no-verify
|
60
|
+
|
61
|
+
# Prior to Logstash 2.3
|
59
62
|
bin/plugin install --no-verify
|
63
|
+
|
60
64
|
```
|
61
65
|
- Run Logstash with your plugin
|
62
66
|
```sh
|
@@ -74,7 +78,12 @@ gem build logstash-filter-awesome.gemspec
|
|
74
78
|
```
|
75
79
|
- Install the plugin from the Logstash home
|
76
80
|
```sh
|
77
|
-
|
81
|
+
# Logstash 2.3 and higher
|
82
|
+
bin/logstash-plugin install --no-verify
|
83
|
+
|
84
|
+
# Prior to Logstash 2.3
|
85
|
+
bin/plugin install --no-verify
|
86
|
+
|
78
87
|
```
|
79
88
|
- Start Logstash and proceed to test the plugin
|
80
89
|
|
data/lib/logstash/filters/dns.rb
CHANGED
@@ -102,7 +102,7 @@ class LogStash::Filters::DNS < LogStash::Filters::Base
|
|
102
102
|
def resolve(event)
|
103
103
|
@resolve.each do |field|
|
104
104
|
is_array = false
|
105
|
-
raw = event
|
105
|
+
raw = event.get(field)
|
106
106
|
if raw.is_a?(Array)
|
107
107
|
is_array = true
|
108
108
|
if raw.length > 1
|
@@ -136,15 +136,17 @@ class LogStash::Filters::DNS < LogStash::Filters::Base
|
|
136
136
|
|
137
137
|
if @action == "replace"
|
138
138
|
if is_array
|
139
|
-
event
|
139
|
+
event.set(field, [address])
|
140
140
|
else
|
141
|
-
event
|
141
|
+
event.set(field, address)
|
142
142
|
end
|
143
143
|
else
|
144
144
|
if !is_array
|
145
|
-
event
|
145
|
+
event.set(field, [event.get(field), address])
|
146
146
|
else
|
147
|
-
event
|
147
|
+
arr = event.get(field)
|
148
|
+
arr << address
|
149
|
+
event.set(field, arr)
|
148
150
|
end
|
149
151
|
end
|
150
152
|
|
@@ -154,7 +156,7 @@ class LogStash::Filters::DNS < LogStash::Filters::Base
|
|
154
156
|
private
|
155
157
|
def reverse(event)
|
156
158
|
@reverse.each do |field|
|
157
|
-
raw = event
|
159
|
+
raw = event.get(field)
|
158
160
|
is_array = false
|
159
161
|
if raw.is_a?(Array)
|
160
162
|
is_array = true
|
@@ -167,7 +169,7 @@ class LogStash::Filters::DNS < LogStash::Filters::Base
|
|
167
169
|
|
168
170
|
if ! @ip_validator.match(raw)
|
169
171
|
@logger.debug("DNS: not an address",
|
170
|
-
:field => field, :value => event
|
172
|
+
:field => field, :value => event.get(field))
|
171
173
|
return
|
172
174
|
end
|
173
175
|
begin
|
@@ -194,15 +196,17 @@ class LogStash::Filters::DNS < LogStash::Filters::Base
|
|
194
196
|
|
195
197
|
if @action == "replace"
|
196
198
|
if is_array
|
197
|
-
event
|
199
|
+
event.set(field, [hostname])
|
198
200
|
else
|
199
|
-
event
|
201
|
+
event.set(field, hostname)
|
200
202
|
end
|
201
203
|
else
|
202
204
|
if !is_array
|
203
|
-
event
|
205
|
+
event.set(field, [event.get(field), hostname])
|
204
206
|
else
|
205
|
-
event
|
207
|
+
arr = event.get(field)
|
208
|
+
arr << hostname
|
209
|
+
event.set(field, arr)
|
206
210
|
end
|
207
211
|
end
|
208
212
|
end
|
data/logstash-filter-dns.gemspec
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
|
3
3
|
s.name = 'logstash-filter-dns'
|
4
|
-
s.version = '
|
4
|
+
s.version = '3.0.0'
|
5
5
|
s.licenses = ['Apache License (2.0)']
|
6
6
|
s.summary = "This filter will resolve any IP addresses from a field of your choosing."
|
7
|
-
s.description = "This gem is a
|
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"
|
8
8
|
s.authors = ["Elastic"]
|
9
9
|
s.email = 'info@elastic.co'
|
10
10
|
s.homepage = "http://www.elastic.co/guide/en/logstash/current/index.html"
|
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.metadata = { "logstash_plugin" => "true", "logstash_group" => "filter" }
|
21
21
|
|
22
22
|
# Gem dependencies
|
23
|
-
s.add_runtime_dependency "logstash-core-plugin-api", "~>
|
23
|
+
s.add_runtime_dependency "logstash-core-plugin-api", "~> 2.0"
|
24
24
|
s.add_runtime_dependency 'lru_redux', "~> 1.1.0"
|
25
25
|
|
26
26
|
s.add_development_dependency 'logstash-devutils'
|
data/spec/filters/dns_spec.rb
CHANGED
@@ -25,7 +25,7 @@ describe LogStash::Filters::DNS do
|
|
25
25
|
CONFIG
|
26
26
|
|
27
27
|
sample("foo" => "199.192.228.250") do
|
28
|
-
insist { subject
|
28
|
+
insist { subject.get("foo") } == "carrera.databits.net"
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
@@ -40,8 +40,8 @@ describe LogStash::Filters::DNS do
|
|
40
40
|
CONFIG
|
41
41
|
|
42
42
|
sample("foo" => "199.192.228.250") do
|
43
|
-
insist { subject
|
44
|
-
insist { subject
|
43
|
+
insist { subject.get("foo")[0] } == "199.192.228.250"
|
44
|
+
insist { subject.get("foo")[1] } == "carrera.databits.net"
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
@@ -55,7 +55,7 @@ describe LogStash::Filters::DNS do
|
|
55
55
|
CONFIG
|
56
56
|
|
57
57
|
sample("foo" => "not.an.ip") do
|
58
|
-
insist { subject
|
58
|
+
insist { subject.get("foo") } == "not.an.ip"
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
@@ -71,8 +71,8 @@ describe LogStash::Filters::DNS do
|
|
71
71
|
CONFIG
|
72
72
|
|
73
73
|
sample("host" => "carrera.databits.net") do
|
74
|
-
insist { subject
|
75
|
-
insist { subject
|
74
|
+
insist { subject.get("host") } == "199.192.228.250"
|
75
|
+
insist { subject.get("tags") } == ["success"]
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
@@ -88,9 +88,9 @@ describe LogStash::Filters::DNS do
|
|
88
88
|
CONFIG
|
89
89
|
|
90
90
|
sample("host1" => "carrera.databits.net", "host2" => "nonexistanthostname###.net") do
|
91
|
-
insist { subject
|
92
|
-
insist { subject
|
93
|
-
insist { subject
|
91
|
+
insist { subject.get("tags") }.nil?
|
92
|
+
insist { subject.get("host1") } == "199.192.228.250"
|
93
|
+
insist { subject.get("host2") } == "nonexistanthostname###.net"
|
94
94
|
end
|
95
95
|
end
|
96
96
|
|
@@ -106,7 +106,7 @@ describe LogStash::Filters::DNS do
|
|
106
106
|
CONFIG
|
107
107
|
|
108
108
|
sample("host1" => "carrera.databits.net", "host2" => "carrera.databits.net") do
|
109
|
-
insist { subject
|
109
|
+
insist { subject.get("tags") } == ["success"]
|
110
110
|
end
|
111
111
|
end
|
112
112
|
|
@@ -125,10 +125,10 @@ describe LogStash::Filters::DNS do
|
|
125
125
|
sample("host1" => "carrera.databits.net",
|
126
126
|
"ip1" => "127.0.0.1",
|
127
127
|
"ip2" => "128.0.0.1") do
|
128
|
-
insist { subject
|
129
|
-
insist { subject
|
130
|
-
insist { subject
|
131
|
-
insist { subject
|
128
|
+
insist { subject.get("tags") }.nil?
|
129
|
+
insist { subject.get("host1") } == "199.192.228.250"
|
130
|
+
insist { subject.get("ip1") } == "localhost"
|
131
|
+
insist { subject.get("ip2") } == "128.0.0.1"
|
132
132
|
end
|
133
133
|
end
|
134
134
|
|
@@ -143,7 +143,7 @@ describe LogStash::Filters::DNS do
|
|
143
143
|
CONFIG
|
144
144
|
|
145
145
|
sample("foo" => "carrera.databits.net") do
|
146
|
-
insist { subject
|
146
|
+
insist { subject.get("foo") } == "199.192.228.250"
|
147
147
|
end
|
148
148
|
end
|
149
149
|
|
@@ -158,7 +158,7 @@ describe LogStash::Filters::DNS do
|
|
158
158
|
CONFIG
|
159
159
|
|
160
160
|
sample("foo" => ["carrera.databits.net", "foo.databits.net"]) do
|
161
|
-
insist { subject
|
161
|
+
insist { subject.get("foo") } == ["carrera.databits.net", "foo.databits.net"]
|
162
162
|
end
|
163
163
|
end
|
164
164
|
|
@@ -173,8 +173,8 @@ describe LogStash::Filters::DNS do
|
|
173
173
|
CONFIG
|
174
174
|
|
175
175
|
sample("foo" => "carrera.databits.net") do
|
176
|
-
insist { subject
|
177
|
-
insist { subject
|
176
|
+
insist { subject.get("foo")[0] } == "carrera.databits.net"
|
177
|
+
insist { subject.get("foo")[1] } == "199.192.228.250"
|
178
178
|
end
|
179
179
|
end
|
180
180
|
|
@@ -189,7 +189,7 @@ describe LogStash::Filters::DNS do
|
|
189
189
|
CONFIG
|
190
190
|
|
191
191
|
sample("foo" => ["carrera.databits.net", "foo.databits.net"]) do
|
192
|
-
insist { subject
|
192
|
+
insist { subject.get("foo") } == ["carrera.databits.net", "foo.databits.net"]
|
193
193
|
end
|
194
194
|
end
|
195
195
|
|
@@ -203,7 +203,7 @@ describe LogStash::Filters::DNS do
|
|
203
203
|
CONFIG
|
204
204
|
|
205
205
|
sample("foo" => "does.not.exist") do
|
206
|
-
insist { subject
|
206
|
+
insist { subject.get("foo") } == "does.not.exist"
|
207
207
|
end
|
208
208
|
end
|
209
209
|
|
@@ -219,7 +219,7 @@ describe LogStash::Filters::DNS do
|
|
219
219
|
CONFIG
|
220
220
|
|
221
221
|
sample("host" => "carrera.databits.net") do
|
222
|
-
insist { subject
|
222
|
+
insist { subject.get("host") } == "199.192.228.250"
|
223
223
|
end
|
224
224
|
end
|
225
225
|
|
@@ -235,7 +235,7 @@ describe LogStash::Filters::DNS do
|
|
235
235
|
CONFIG
|
236
236
|
|
237
237
|
sample("host" => "carrera.databits.net") do
|
238
|
-
insist { subject
|
238
|
+
insist { subject.get("host") } == "199.192.228.250"
|
239
239
|
end
|
240
240
|
end
|
241
241
|
|
@@ -251,7 +251,7 @@ describe LogStash::Filters::DNS do
|
|
251
251
|
CONFIG
|
252
252
|
|
253
253
|
sample("host" => "carrera.databits.net") do
|
254
|
-
insist { subject
|
254
|
+
insist { subject.get("host") } == "199.192.228.250"
|
255
255
|
end
|
256
256
|
end
|
257
257
|
|
metadata
CHANGED
@@ -1,58 +1,60 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-filter-dns
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logstash-core-plugin-api
|
15
|
-
version_requirements: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ~>
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.0'
|
20
15
|
requirement: !ruby/object:Gem::Requirement
|
21
16
|
requirements:
|
22
|
-
- - ~>
|
17
|
+
- - "~>"
|
23
18
|
- !ruby/object:Gem::Version
|
24
|
-
version: '
|
25
|
-
prerelease: false
|
19
|
+
version: '2.0'
|
26
20
|
type: :runtime
|
27
|
-
|
28
|
-
name: lru_redux
|
21
|
+
prerelease: false
|
29
22
|
version_requirements: !ruby/object:Gem::Requirement
|
30
23
|
requirements:
|
31
|
-
- - ~>
|
24
|
+
- - "~>"
|
32
25
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
26
|
+
version: '2.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: lru_redux
|
34
29
|
requirement: !ruby/object:Gem::Requirement
|
35
30
|
requirements:
|
36
|
-
- - ~>
|
31
|
+
- - "~>"
|
37
32
|
- !ruby/object:Gem::Version
|
38
33
|
version: 1.1.0
|
39
|
-
prerelease: false
|
40
34
|
type: :runtime
|
41
|
-
|
42
|
-
name: logstash-devutils
|
35
|
+
prerelease: false
|
43
36
|
version_requirements: !ruby/object:Gem::Requirement
|
44
37
|
requirements:
|
45
|
-
- -
|
38
|
+
- - "~>"
|
46
39
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
40
|
+
version: 1.1.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: logstash-devutils
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
44
|
requirements:
|
50
|
-
- -
|
45
|
+
- - ">="
|
51
46
|
- !ruby/object:Gem::Version
|
52
47
|
version: '0'
|
53
|
-
prerelease: false
|
54
48
|
type: :development
|
55
|
-
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
description: This gem is a Logstash plugin required to be installed on top of the
|
56
|
+
Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This
|
57
|
+
gem is not a stand-alone program
|
56
58
|
email: info@elastic.co
|
57
59
|
executables: []
|
58
60
|
extensions: []
|
@@ -73,24 +75,24 @@ licenses:
|
|
73
75
|
metadata:
|
74
76
|
logstash_plugin: 'true'
|
75
77
|
logstash_group: filter
|
76
|
-
post_install_message:
|
78
|
+
post_install_message:
|
77
79
|
rdoc_options: []
|
78
80
|
require_paths:
|
79
81
|
- lib
|
80
82
|
required_ruby_version: !ruby/object:Gem::Requirement
|
81
83
|
requirements:
|
82
|
-
- -
|
84
|
+
- - ">="
|
83
85
|
- !ruby/object:Gem::Version
|
84
86
|
version: '0'
|
85
87
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
88
|
requirements:
|
87
|
-
- -
|
89
|
+
- - ">="
|
88
90
|
- !ruby/object:Gem::Version
|
89
91
|
version: '0'
|
90
92
|
requirements: []
|
91
|
-
rubyforge_project:
|
92
|
-
rubygems_version: 2.
|
93
|
-
signing_key:
|
93
|
+
rubyforge_project:
|
94
|
+
rubygems_version: 2.5.1
|
95
|
+
signing_key:
|
94
96
|
specification_version: 4
|
95
97
|
summary: This filter will resolve any IP addresses from a field of your choosing.
|
96
98
|
test_files:
|