fluent-plugin-elasticsearch 0.6.1 → 0.7.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/History.md +3 -0
- data/README.md +26 -0
- data/fluent-plugin-elasticsearch.gemspec +1 -1
- data/lib/fluent/plugin/out_elasticsearch.rb +4 -0
- data/test/plugin/test_out_elasticsearch.rb +13 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db7ae2774a9228b9590ed370a165dce4b02cffb9
|
4
|
+
data.tar.gz: 0a3fdd28683a0c7a63169b2ed9b9188876d205f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 97264a9bd9817e7cd4b43e413f6ac492d61dfac495256008209f08453db1f889a188c2f46d15c674c9c619fc488deeec343169312f01daabd6654b7d31d06586
|
7
|
+
data.tar.gz: 42f10a91ad47b1927411cef10ddd33d093b7e56608940feb3e032c06110945b74c7d1484bcc6d1a5a136d4c59ceb85912f4ebfcc1d85cc83f2586b6e6b706041
|
data/History.md
CHANGED
data/README.md
CHANGED
@@ -79,6 +79,32 @@ By default, when inserting records in logstash format, @timestamp is dynamically
|
|
79
79
|
{"@timestamp":"2014-04-07T000:00:00-00:00"}
|
80
80
|
```
|
81
81
|
|
82
|
+
You can specify an option `time_key` (like the option described in [tail Input Plugin](http://docs.fluentd.org/articles/in_tail)) if you don't like `@timestamp`.
|
83
|
+
|
84
|
+
Suppose you have settings
|
85
|
+
|
86
|
+
```
|
87
|
+
logstash_format true
|
88
|
+
time_key vtm
|
89
|
+
```
|
90
|
+
|
91
|
+
Your input is:
|
92
|
+
```
|
93
|
+
{
|
94
|
+
"title": "developer",
|
95
|
+
"vtm": "2014-12-19T08:01:03Z"
|
96
|
+
}
|
97
|
+
```
|
98
|
+
|
99
|
+
The output will be
|
100
|
+
```
|
101
|
+
{
|
102
|
+
"title": "developer",
|
103
|
+
"@timstamp": "2014-12-19T08:01:03Z",
|
104
|
+
"vtm": "2014-12-19T08:01:03Z"
|
105
|
+
}
|
106
|
+
```
|
107
|
+
|
82
108
|
By default, the records inserted into index `logstash-YYMMDD`. This option allows to insert into specified index like `logstash-YYYYMM` for a monthly index.
|
83
109
|
|
84
110
|
```
|
@@ -3,7 +3,7 @@ $:.push File.expand_path('../lib', __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = 'fluent-plugin-elasticsearch'
|
6
|
-
s.version = '0.
|
6
|
+
s.version = '0.7.0'
|
7
7
|
s.authors = ['diogo', 'pitr']
|
8
8
|
s.email = ['pitr@uken.com', 'diogo@uken.com']
|
9
9
|
s.description = %q{ElasticSearch output plugin for Fluent event collector}
|
@@ -27,6 +27,7 @@ class Fluent::ElasticsearchOutput < Fluent::BufferedOutput
|
|
27
27
|
config_param :request_timeout, :time, :default => 5
|
28
28
|
config_param :reload_connections, :bool, :default => true
|
29
29
|
config_param :reload_on_failure, :bool, :default => false
|
30
|
+
config_param :time_key, :string, :default => nil
|
30
31
|
|
31
32
|
include Fluent::SetTagKeyMixin
|
32
33
|
config_set_default :include_tag_key, false
|
@@ -125,6 +126,9 @@ class Fluent::ElasticsearchOutput < Fluent::BufferedOutput
|
|
125
126
|
if @logstash_format
|
126
127
|
if record.has_key?("@timestamp")
|
127
128
|
time = Time.parse record["@timestamp"]
|
129
|
+
elsif record.has_key?(@time_key)
|
130
|
+
time = Time.parse record[@time_key]
|
131
|
+
record['@timestamp'] = record[@time_key]
|
128
132
|
else
|
129
133
|
record.merge!({"@timestamp" => Time.at(time).to_datetime.to_s})
|
130
134
|
end
|
@@ -30,7 +30,7 @@ class ElasticsearchOutput < Test::Unit::TestCase
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def stub_elastic_ping(url="http://localhost:9200")
|
33
|
-
stub_request(:head, url).
|
33
|
+
stub_request(:head, url).to_return(:status => 200, :body => "", :headers => {})
|
34
34
|
end
|
35
35
|
|
36
36
|
def stub_elastic(url="http://localhost:9200/_bulk")
|
@@ -333,6 +333,18 @@ class ElasticsearchOutput < Test::Unit::TestCase
|
|
333
333
|
assert_equal(index_cmds[1]['@timestamp'], ts)
|
334
334
|
end
|
335
335
|
|
336
|
+
def test_uses_custom_time_key
|
337
|
+
driver.configure("logstash_format true
|
338
|
+
time_key vtm\n")
|
339
|
+
stub_elastic_ping
|
340
|
+
stub_elastic
|
341
|
+
ts = DateTime.new(2001,2,3).to_s
|
342
|
+
driver.emit(sample_record.merge!('vtm' => ts))
|
343
|
+
driver.run
|
344
|
+
assert(index_cmds[1].has_key? '@timestamp')
|
345
|
+
assert_equal(index_cmds[1]['@timestamp'], ts)
|
346
|
+
end
|
347
|
+
|
336
348
|
def test_doesnt_add_tag_key_by_default
|
337
349
|
stub_elastic_ping
|
338
350
|
stub_elastic
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-elasticsearch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- diogo
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-12-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fluentd
|