logstash-filter-elasticsearch 3.4.0 → 3.5.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57bc6bc825a1866b1ecf39eb35bcab5e062dfb73f7b1e7590feb4fe51358b2c9
|
4
|
+
data.tar.gz: 48df2bb55103e2fb6196ec8679f1b48ce70742f43dcd9ab3c5ff257637ccdda8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e93655c43a05df8d1f7cf261ff552a875cb765111903cf9bc4903e77cb423329f346f1b67d949b6cae24c85872b8ea45a7a08e7ce812d48ab93117d575236eef
|
7
|
+
data.tar.gz: b3dbca71043c7cbb6ef904e19e30b88dd6e974d92c0fdf77eae52d90c1d41151bdc9b0ef4c9cc93fa8c97937dc31e30c6570a62a8343d693a0b1d00bb2d4fa6a
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
## 3.5.0
|
2
|
+
- Added connection check during register to avoid failures during processing
|
3
|
+
- Changed Elasticsearch Client transport to use Manticore
|
4
|
+
- Changed amount of logging details during connection failure
|
5
|
+
|
1
6
|
## 3.4.0
|
2
7
|
- Adds `[@metadata][total_hits]` with total hits returned from the query ([#106](https://github.com/logstash-plugins/logstash-filter-elasticsearch/pull/106))
|
3
8
|
- Improves error logging to fully inspect caught exceptions ([#105](https://github.com/logstash-plugins/logstash-filter-elasticsearch/pull/105))
|
@@ -71,6 +71,7 @@ class LogStash::Filters::Elasticsearch < LogStash::Filters::Base
|
|
71
71
|
@query_dsl = file.read
|
72
72
|
end
|
73
73
|
|
74
|
+
test_connection!
|
74
75
|
end # def register
|
75
76
|
|
76
77
|
def filter(event)
|
@@ -123,7 +124,13 @@ class LogStash::Filters::Elasticsearch < LogStash::Filters::Base
|
|
123
124
|
end
|
124
125
|
|
125
126
|
rescue => e
|
126
|
-
@logger.
|
127
|
+
if @logger.trace?
|
128
|
+
@logger.warn("Failed to query elasticsearch for previous event", :index => @index, :query => query, :event => event.to_hash, :error => e.message, :backtrace => e.backtrace)
|
129
|
+
elsif @logger.debug?
|
130
|
+
@logger.warn("Failed to query elasticsearch for previous event", :index => @index, :error => e.message, :backtrace => e.backtrace)
|
131
|
+
else
|
132
|
+
@logger.warn("Failed to query elasticsearch for previous event", :index => @index, :error => e.message)
|
133
|
+
end
|
127
134
|
@tag_on_failure.each{|tag| event.tag(tag)}
|
128
135
|
else
|
129
136
|
filter_matched(event) if matched
|
@@ -165,4 +172,8 @@ class LogStash::Filters::Elasticsearch < LogStash::Filters::Base
|
|
165
172
|
memo[old_key_fragment]
|
166
173
|
end
|
167
174
|
end
|
175
|
+
|
176
|
+
def test_connection!
|
177
|
+
get_client.client.ping
|
178
|
+
end
|
168
179
|
end #class LogStash::Filters::Elasticsearch
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require "elasticsearch"
|
3
3
|
require "base64"
|
4
|
+
require "elasticsearch/transport/transport/http/manticore"
|
4
5
|
|
5
6
|
|
6
7
|
module LogStash
|
@@ -22,10 +23,11 @@ module LogStash
|
|
22
23
|
|
23
24
|
hosts.map! {|h| { host: h, scheme: 'https' } } if ssl
|
24
25
|
# set ca_file even if ssl isn't on, since the host can be an https url
|
25
|
-
|
26
|
+
ssl_options = { ssl: true, ca_file: options[:ca_file] } if options[:ca_file]
|
27
|
+
ssl_options ||= {}
|
26
28
|
|
27
29
|
@logger.info("New ElasticSearch filter client", :hosts => hosts)
|
28
|
-
@client = ::Elasticsearch::Client.new(hosts: hosts, transport_options: transport_options)
|
30
|
+
@client = ::Elasticsearch::Client.new(hosts: hosts, transport_options: transport_options, transport_class: ::Elasticsearch::Transport::Transport::HTTP::Manticore, :ssl => ssl_options)
|
29
31
|
end
|
30
32
|
|
31
33
|
def search(params)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
|
3
3
|
s.name = 'logstash-filter-elasticsearch'
|
4
|
-
s.version = '3.
|
4
|
+
s.version = '3.5.0'
|
5
5
|
s.licenses = ['Apache License (2.0)']
|
6
6
|
s.summary = "Copies fields from previous log events in Elasticsearch to current events "
|
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"
|
@@ -22,6 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
# Gem dependencies
|
23
23
|
s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
|
24
24
|
s.add_runtime_dependency 'elasticsearch', ">= 5.0.3", " <6.0.0"
|
25
|
+
s.add_runtime_dependency 'manticore', "~> 0.6"
|
25
26
|
|
26
27
|
s.add_development_dependency 'logstash-devutils'
|
27
28
|
end
|
@@ -9,6 +9,9 @@ describe LogStash::Filters::Elasticsearch do
|
|
9
9
|
context "registration" do
|
10
10
|
|
11
11
|
let(:plugin) { LogStash::Plugin.lookup("filter", "elasticsearch").new({}) }
|
12
|
+
before do
|
13
|
+
allow(plugin).to receive(:test_connection!)
|
14
|
+
end
|
12
15
|
|
13
16
|
it "should not raise an exception" do
|
14
17
|
expect {plugin.register}.to_not raise_error
|
@@ -37,6 +40,7 @@ describe LogStash::Filters::Elasticsearch do
|
|
37
40
|
before(:each) do
|
38
41
|
allow(LogStash::Filters::ElasticsearchClient).to receive(:new).and_return(client)
|
39
42
|
allow(client).to receive(:search).and_return(response)
|
43
|
+
allow(plugin).to receive(:test_connection!)
|
40
44
|
plugin.register
|
41
45
|
end
|
42
46
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-filter-elasticsearch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -50,6 +50,20 @@ dependencies:
|
|
50
50
|
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
52
|
version: 6.0.0
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
requirement: !ruby/object:Gem::Requirement
|
55
|
+
requirements:
|
56
|
+
- - "~>"
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: '0.6'
|
59
|
+
name: manticore
|
60
|
+
prerelease: false
|
61
|
+
type: :runtime
|
62
|
+
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - "~>"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0.6'
|
53
67
|
- !ruby/object:Gem::Dependency
|
54
68
|
requirement: !ruby/object:Gem::Requirement
|
55
69
|
requirements:
|