logstash-input-udp 3.2.0 → 3.2.1
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 -0
- data/lib/logstash/inputs/udp.rb +30 -27
- data/logstash-input-udp.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 65ce03f6729a3d13216ee414e60c83e23aaf0ba9975ab9138339ccc0fcb2373e
|
4
|
+
data.tar.gz: 60b7a6b91ad030142164d5ce7b80208457735e93f26c70d8861eedf0f324a02e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93a7f99e7e3a03c1370877a3f05599880d629581afcd08f47db6cd2416a30175fe791eab6d976e35d652ff96e13d44c85a18c031258657e059b5fb28f5f92de1
|
7
|
+
data.tar.gz: f78894b90992202b434fe29ba2131336e2c836cbff14025b30d61a4333fdfc9999a5184d53a5d865dba1c436422939d483214cacb7fc4a7986a8daaf9ebe9ca1
|
data/CHANGELOG.md
CHANGED
data/lib/logstash/inputs/udp.rb
CHANGED
@@ -39,20 +39,18 @@ class LogStash::Inputs::Udp < LogStash::Inputs::Base
|
|
39
39
|
|
40
40
|
HOST_FIELD = "host".freeze
|
41
41
|
|
42
|
-
public
|
43
42
|
def initialize(params)
|
44
43
|
super
|
45
44
|
BasicSocket.do_not_reverse_lookup = true
|
46
|
-
end
|
45
|
+
end
|
47
46
|
|
48
|
-
public
|
49
47
|
def register
|
50
48
|
@udp = nil
|
51
|
-
end
|
49
|
+
end
|
52
50
|
|
53
|
-
public
|
54
51
|
def run(output_queue)
|
55
|
-
|
52
|
+
@output_queue = output_queue
|
53
|
+
|
56
54
|
begin
|
57
55
|
# udp server
|
58
56
|
udp_listener(output_queue)
|
@@ -60,14 +58,27 @@ class LogStash::Inputs::Udp < LogStash::Inputs::Base
|
|
60
58
|
@logger.warn("UDP listener died", :exception => e, :backtrace => e.backtrace)
|
61
59
|
Stud.stoppable_sleep(5) { stop? }
|
62
60
|
retry unless stop?
|
63
|
-
end
|
64
|
-
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def close
|
65
|
+
if @udp && !@udp.closed?
|
66
|
+
@udp.close rescue ignore_close_and_log($!)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def stop
|
71
|
+
if @udp && !@udp.closed?
|
72
|
+
@udp.close rescue ignore_close_and_log($!)
|
73
|
+
end
|
74
|
+
end
|
65
75
|
|
66
76
|
private
|
77
|
+
|
67
78
|
def udp_listener(output_queue)
|
68
79
|
@logger.info("Starting UDP listener", :address => "#{@host}:#{@port}")
|
69
80
|
|
70
|
-
if @udp &&
|
81
|
+
if @udp && !@udp.closed?
|
71
82
|
@udp.close
|
72
83
|
end
|
73
84
|
|
@@ -94,7 +105,7 @@ class LogStash::Inputs::Udp < LogStash::Inputs::Base
|
|
94
105
|
while !stop?
|
95
106
|
next if IO.select([@udp], [], [], 0.5).nil?
|
96
107
|
# collect datagram messages and add to inputworker queue
|
97
|
-
@queue_size.times
|
108
|
+
@queue_size.times do
|
98
109
|
begin
|
99
110
|
payload, client = @udp.recvfrom_nonblock(@buffer_size)
|
100
111
|
break if payload.empty?
|
@@ -102,17 +113,18 @@ class LogStash::Inputs::Udp < LogStash::Inputs::Base
|
|
102
113
|
rescue IO::EAGAINWaitReadable
|
103
114
|
break
|
104
115
|
end
|
105
|
-
|
116
|
+
end
|
106
117
|
end
|
107
118
|
ensure
|
108
119
|
if @udp
|
109
|
-
@udp.close_read rescue
|
110
|
-
@udp.close_write rescue
|
120
|
+
@udp.close_read rescue ignore_close_and_log($!)
|
121
|
+
@udp.close_write rescue ignore_close_and_log($!)
|
111
122
|
end
|
112
|
-
end
|
123
|
+
end
|
113
124
|
|
114
125
|
def inputworker(number, codec)
|
115
126
|
LogStash::Util::set_thread_name("<udp.#{number}")
|
127
|
+
|
116
128
|
begin
|
117
129
|
while true
|
118
130
|
payload, client = @input_to_worker.pop
|
@@ -124,24 +136,15 @@ class LogStash::Inputs::Udp < LogStash::Inputs::Base
|
|
124
136
|
rescue => e
|
125
137
|
@logger.error("Exception in inputworker", "exception" => e, "backtrace" => e.backtrace)
|
126
138
|
end
|
127
|
-
end # def inputworker
|
128
|
-
|
129
|
-
public
|
130
|
-
def close
|
131
|
-
@udp.close rescue nil
|
132
139
|
end
|
133
140
|
|
134
|
-
public
|
135
|
-
def stop
|
136
|
-
@udp.close rescue nil
|
137
|
-
end
|
138
|
-
|
139
|
-
private
|
140
|
-
|
141
141
|
def push_decoded_event(host, event)
|
142
142
|
decorate(event)
|
143
143
|
event.set(HOST_FIELD, host) if event.get(HOST_FIELD).nil?
|
144
144
|
@output_queue.push(event)
|
145
145
|
end
|
146
146
|
|
147
|
-
|
147
|
+
def ignore_close_and_log(e)
|
148
|
+
@logger.debug("ignoring close exception", "exception" => e)
|
149
|
+
end
|
150
|
+
end
|
data/logstash-input-udp.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
|
3
3
|
s.name = 'logstash-input-udp'
|
4
|
-
s.version = '3.2.
|
4
|
+
s.version = '3.2.1'
|
5
5
|
s.licenses = ['Apache License (2.0)']
|
6
6
|
s.summary = "Reads events over UDP"
|
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"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-input-udp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-12-
|
11
|
+
date: 2017-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|