fluent-plugin-elasticsearch 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: eb97386663d594fba5f8370521ec652d8421be24
4
+ data.tar.gz: ee4c8b7df8eedab7a49928a8501d125acee07d81
5
+ SHA512:
6
+ metadata.gz: 1e18d1b311ac77e067fead2acd4e4dcbfafad8e1930f60d041195024da6aa8f1993e068af25ad2ce58f95a6c87f746baf254aadbc48a8612c82c43fdf747f7c3
7
+ data.tar.gz: 226358388cf4cdb2916bbba8c7272e019f257bcb8b964d1e1b839f7a6be4aa6aee9688a917ae20b2f02982863ac43b0a1b9125ce1879baa8bda30a0db4e09e40
data/History.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  ### Future
4
4
 
5
+
6
+ ### 0.4.0
7
+
8
+ - add `request_timeout` config
9
+ - fix lockup when non-hash values are sent (#52)
10
+
11
+ ### 0.3.1
12
+
13
+ - force using patron (#46)
5
14
  - do not generate @timestamp if already part of message (#35)
6
15
 
7
16
  ### 0.3.0
data/README.md CHANGED
@@ -67,6 +67,14 @@ utc_index true
67
67
 
68
68
  By default, the records inserted into index `logstash-YYMMDD` with utc (Coordinated Universal Time). This option allows to use local time if you describe utc_index to false.
69
69
 
70
+ ```
71
+ request_timeout 15s # defaults to 5s
72
+ ```
73
+
74
+ You can specify HTTP request timeout.
75
+
76
+ This is useful when Elasticsearch cannot return response for bulk request within the default of 5 seconds.
77
+
70
78
  ---
71
79
 
72
80
  ```
@@ -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.3.1'
6
+ s.version = '0.4.0'
7
7
  s.authors = ['diogo', 'pitr']
8
8
  s.email = ['team@uken.com']
9
9
  s.description = %q{ElasticSearch output plugin for Fluent event collector}
@@ -17,6 +17,7 @@ class Fluent::ElasticsearchOutput < Fluent::BufferedOutput
17
17
  config_param :id_key, :string, :default => nil
18
18
  config_param :parent_key, :string, :default => nil
19
19
  config_param :hosts, :string, :default => nil
20
+ config_param :request_timeout, :time, :default => 5
20
21
 
21
22
  include Fluent::SetTagKeyMixin
22
23
  config_set_default :include_tag_key, false
@@ -39,7 +40,10 @@ class Fluent::ElasticsearchOutput < Fluent::BufferedOutput
39
40
  transport = Elasticsearch::Transport::Transport::HTTP::Faraday.new({ hosts: get_hosts,
40
41
  options: {
41
42
  reload_connections: true,
42
- retry_on_failure: 5
43
+ retry_on_failure: 5,
44
+ transport_options: {
45
+ request: { timeout: @request_timeout }
46
+ }
43
47
  }}, &adapter_conf)
44
48
  Elasticsearch::Client.new transport: transport
45
49
  end
@@ -67,6 +71,7 @@ class Fluent::ElasticsearchOutput < Fluent::BufferedOutput
67
71
  bulk_message = []
68
72
 
69
73
  chunk.msgpack_each do |tag, time, record|
74
+ next unless record.is_a? Hash
70
75
  if @logstash_format
71
76
  record.merge!({"@timestamp" => Time.at(time).to_datetime.to_s}) unless record.has_key?("@timestamp")
72
77
  if @utc_index
@@ -325,4 +325,11 @@ class ElasticsearchOutput < Test::Unit::TestCase
325
325
  driver.run
326
326
  }
327
327
  end
328
+
329
+ def test_garbage_record_error
330
+ stub_elastic_ping
331
+ stub_elastic
332
+ driver.emit("some garbage string")
333
+ driver.run
334
+ end
328
335
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-elasticsearch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
5
- prerelease:
4
+ version: 0.4.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - diogo
@@ -10,86 +9,76 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2014-06-16 00:00:00.000000000 Z
12
+ date: 2014-08-01 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: fluentd
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ~>
18
+ - - "~>"
21
19
  - !ruby/object:Gem::Version
22
20
  version: '0'
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ~>
25
+ - - "~>"
29
26
  - !ruby/object:Gem::Version
30
27
  version: '0'
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: patron
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
- - - ~>
32
+ - - "~>"
37
33
  - !ruby/object:Gem::Version
38
34
  version: '0'
39
35
  type: :runtime
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ~>
39
+ - - "~>"
45
40
  - !ruby/object:Gem::Version
46
41
  version: '0'
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: elasticsearch
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
- - - ~>
46
+ - - "~>"
53
47
  - !ruby/object:Gem::Version
54
48
  version: '0'
55
49
  type: :runtime
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
- - - ~>
53
+ - - "~>"
61
54
  - !ruby/object:Gem::Version
62
55
  version: '0'
63
56
  - !ruby/object:Gem::Dependency
64
57
  name: rake
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
- - - ~>
60
+ - - "~>"
69
61
  - !ruby/object:Gem::Version
70
62
  version: '0'
71
63
  type: :development
72
64
  prerelease: false
73
65
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
66
  requirements:
76
- - - ~>
67
+ - - "~>"
77
68
  - !ruby/object:Gem::Version
78
69
  version: '0'
79
70
  - !ruby/object:Gem::Dependency
80
71
  name: webmock
81
72
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
73
  requirements:
84
- - - ~>
74
+ - - "~>"
85
75
  - !ruby/object:Gem::Version
86
76
  version: '1'
87
77
  type: :development
88
78
  prerelease: false
89
79
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
80
  requirements:
92
- - - ~>
81
+ - - "~>"
93
82
  - !ruby/object:Gem::Version
94
83
  version: '1'
95
84
  description: ElasticSearch output plugin for Fluent event collector
@@ -99,8 +88,8 @@ executables: []
99
88
  extensions: []
100
89
  extra_rdoc_files: []
101
90
  files:
102
- - .gitignore
103
- - .travis.yml
91
+ - ".gitignore"
92
+ - ".travis.yml"
104
93
  - Gemfile
105
94
  - History.md
106
95
  - LICENSE.txt
@@ -113,27 +102,26 @@ files:
113
102
  homepage: https://github.com/uken/fluent-plugin-elasticsearch
114
103
  licenses:
115
104
  - MIT
105
+ metadata: {}
116
106
  post_install_message:
117
107
  rdoc_options: []
118
108
  require_paths:
119
109
  - lib
120
110
  required_ruby_version: !ruby/object:Gem::Requirement
121
- none: false
122
111
  requirements:
123
- - - ! '>='
112
+ - - ">="
124
113
  - !ruby/object:Gem::Version
125
114
  version: '0'
126
115
  required_rubygems_version: !ruby/object:Gem::Requirement
127
- none: false
128
116
  requirements:
129
- - - ! '>='
117
+ - - ">="
130
118
  - !ruby/object:Gem::Version
131
119
  version: '0'
132
120
  requirements: []
133
121
  rubyforge_project:
134
- rubygems_version: 1.8.23.2
122
+ rubygems_version: 2.2.0
135
123
  signing_key:
136
- specification_version: 3
124
+ specification_version: 4
137
125
  summary: ElasticSearch output plugin for Fluent event collector
138
126
  test_files:
139
127
  - test/helper.rb