logstash-filter-elasticsearch 3.3.1 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f0392952d180a690b095f3639f5b7e6b02ab3bb37df033c7d1cbc588a563060c
4
- data.tar.gz: a5673bdde9c5f497b1ab6e258d8b90bd193ca0a63d20f73c09f2a06e1fdafe60
3
+ metadata.gz: 92a2e2d6660ea8cf72381f7e7bd6832525e580c083b1f0d7188cbea58e32f2ee
4
+ data.tar.gz: 9cf2ac564ac0347e9f0642c0efaef8b4ac59f8725d9a9eef250805e8cde03656
5
5
  SHA512:
6
- metadata.gz: e18f6af27ef9effc88d17fc96e7146c67efb2ea575a7a851c4e9e7edb2d860d91202da7ad49bb2bed0a2581fc0ac68f8fff522afa08b7eac282aafe809eefe95
7
- data.tar.gz: 78cfbdd8d6204b645921bf5efe3e293968a65117f957487df021aa581d48000fa90927cf1662ce7e39b180fb44d250e8db76d6172654afdf1cc51992b4b6eae2
6
+ metadata.gz: 913c2c225cfa517bf983ca3ee9c85263f0008e305b27dae4619afb8ffaa535e36f2618449b5da2de498dae4bfeb7e3f8dd2d654b3e0499d60f2383e99e92865b
7
+ data.tar.gz: b47a71caee22bf6b95908ec48ea9ce8a17b73c619fe48453a3ed4fe1470906bb149d4c852a1b8aba22e1b003ab0ad8ec33fcf558dfff56ea464cd9b69e4dc04e
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 3.4.0
2
+ - Adds `[@metadata][total_hits]` with total hits returned from the query ([#106](https://github.com/logstash-plugins/logstash-filter-elasticsearch/pull/106))
3
+ - Improves error logging to fully inspect caught exceptions ([#105](https://github.com/logstash-plugins/logstash-filter-elasticsearch/pull/105))
4
+
1
5
  ## 3.3.1
2
6
  - Fix: The filter now only calls `filter_matched` on events that actually matched.
3
7
  This fixes issues where all events would have success-related actions happened
data/docs/index.asciidoc CHANGED
@@ -89,25 +89,6 @@ if [type] == "end" {
89
89
  template.json:
90
90
 
91
91
  [source,json]
92
- --------------------------------------------------
93
- {
94
- "query": {
95
- "query_string": {
96
- "query": "type:start AND operation:%{[opid]}"
97
- }
98
- },
99
- "_source": ["@timestamp"]
100
- }
101
- --------------------------------------------------
102
-
103
- As illustrated above, through the use of 'opid', fields from the Logstash
104
- events can be referenced within the template.
105
- The template will be populated per event prior to being used to query Elasticsearch.
106
-
107
- Note that when you use `query_template`, the Logstash attributes `result_size`
108
- and `sort` will be ignored. They should be specified directly in the JSON
109
- template. Example:
110
-
111
92
  [source,json]
112
93
  --------------------------------------------------
113
94
  {
@@ -122,6 +103,14 @@ template. Example:
122
103
  }
123
104
  --------------------------------------------------
124
105
 
106
+ As illustrated above, through the use of 'opid', fields from the Logstash
107
+ events can be referenced within the template.
108
+ The template will be populated per event prior to being used to query Elasticsearch.
109
+
110
+ Notice also that when you use `query_template`, the Logstash attributes `result_size`
111
+ and `sort` will be ignored. They should be specified directly in the JSON
112
+ template, as shown in the example above.
113
+
125
114
 
126
115
  [id="plugins-{type}s-{plugin}-options"]
127
116
  ==== Elasticsearch Filter Configuration Options
@@ -212,7 +201,20 @@ Whether results should be sorted or not
212
201
  * Value type is <<array,array>>
213
202
  * Default value is `{}`
214
203
 
215
- Array of fields to copy from old event (found via elasticsearch) into new event
204
+ An array of fields to copy from the old event (found via elasticsearch) into the
205
+ new event, currently being processed.
206
+
207
+ In the following example, the values of `@timestamp` and `event_id` on the event
208
+ found via elasticsearch are copied to the current event's
209
+ `started` and `start_id` fields, respectively:
210
+
211
+ [source,ruby]
212
+ --------------------------------------------------
213
+ fields => {
214
+ "@timestamp" => "started"
215
+ "event_id" => "start_id"
216
+ }
217
+ --------------------------------------------------
216
218
 
217
219
  [id="plugins-{type}s-{plugin}-hosts"]
218
220
  ===== `hosts`
@@ -93,6 +93,8 @@ class LogStash::Filters::Elasticsearch < LogStash::Filters::Base
93
93
  results = get_client.search(params)
94
94
  raise "Elasticsearch query error: #{results["_shards"]["failures"]}" if results["_shards"].include? "failures"
95
95
 
96
+ event.set("[@metadata][total_hits]", results['hits']['total'])
97
+
96
98
  resultsHits = results["hits"]["hits"]
97
99
  if !resultsHits.nil? && !resultsHits.empty?
98
100
  matched = true
@@ -121,7 +123,7 @@ class LogStash::Filters::Elasticsearch < LogStash::Filters::Base
121
123
  end
122
124
 
123
125
  rescue => e
124
- @logger.warn("Failed to query elasticsearch for previous event", :index => @index, :query => query, :event => event, :error => e)
126
+ @logger.warn("Failed to query elasticsearch for previous event", :index => @index, :query => query, :event => event, :error => e.inspect)
125
127
  @tag_on_failure.each{|tag| event.tag(tag)}
126
128
  else
127
129
  filter_matched(event) if matched
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-filter-elasticsearch'
4
- s.version = '3.3.1'
4
+ s.version = '3.4.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"
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.3.1
4
+ version: 3.4.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-05-08 00:00:00.000000000 Z
11
+ date: 2018-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement