fluent-plugin-kafka 0.9.2 → 0.9.3
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 +4 -0
- data/README.md +46 -2
- data/fluent-plugin-kafka.gemspec +1 -1
- data/lib/fluent/plugin/in_kafka_group.rb +7 -3
- data/lib/fluent/plugin/out_rdkafka2.rb +14 -15
- 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: 42992f4c6af7ffc02905273a11f9522d581d397e
|
4
|
+
data.tar.gz: e057965b640edc5b5aab0f2aa0250286effae66d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35880b0157f34ee5c0a8e2809c5338b417bef35d8c1e65c88964de1eb492279a4ec0c971fe0f7f760769787689067864f46fe26029954dc5b79c0e62908ecd21
|
7
|
+
data.tar.gz: e2c493ae1978845b9bb319ad8dceff26b5fb45ae1f9127e544841a9b4f1df4849a57d5abf688c322fae3a2e7366653f20c0de617ed0145028bb2e69b8f03444c
|
data/ChangeLog
CHANGED
data/README.md
CHANGED
@@ -20,7 +20,7 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
$ gem install fluent-plugin-kafka --no-document
|
22
22
|
|
23
|
-
If you want to use zookeeper related parameters, you also need to install zookeeper gem. zookeeper gem includes native extension, so development tools are needed, e.g. gcc, make and etc.
|
23
|
+
If you want to use zookeeper related parameters, you also need to install zookeeper gem. zookeeper gem includes native extension, so development tools are needed, e.g. ruby-devel, gcc, make and etc.
|
24
24
|
|
25
25
|
## Requirements
|
26
26
|
|
@@ -142,7 +142,7 @@ Consuming topic name is used for event tag. So when the target topic name is `ap
|
|
142
142
|
|
143
143
|
### Buffered output plugin
|
144
144
|
|
145
|
-
This plugin uses ruby-kafka producer for writing data. This plugin works with recent kafka versions.
|
145
|
+
This plugin uses ruby-kafka producer for writing data. This plugin works with recent kafka versions. This plugin is for v0.12. If you use v1, see `kafka2`.
|
146
146
|
|
147
147
|
<match app.**>
|
148
148
|
@type kafka_buffered
|
@@ -254,6 +254,8 @@ This plugin is for fluentd v1.0 or later. This will be `out_kafka` plugin in the
|
|
254
254
|
<format>
|
255
255
|
@type (json|ltsv|msgpack|attr:<record name>|<formatter name>) :default => json
|
256
256
|
</format>
|
257
|
+
|
258
|
+
# Optional. See https://docs.fluentd.org/v1.0/articles/inject-section
|
257
259
|
<inject>
|
258
260
|
tag_key tag
|
259
261
|
time_key time
|
@@ -312,6 +314,48 @@ You need to install rdkafka gem.
|
|
312
314
|
# rdkafka is C extension library so need development tools like ruby-devel, gcc and etc
|
313
315
|
$ gem install rdkafka --no-document
|
314
316
|
|
317
|
+
`rdkafka2` is for fluentd v1.0 or later.
|
318
|
+
|
319
|
+
<match app.**>
|
320
|
+
@type rdkafka2
|
321
|
+
|
322
|
+
brokers <broker1_host>:<broker1_port>,<broker2_host>:<broker2_port>,.. # Set brokers directly
|
323
|
+
|
324
|
+
topic_key (string) :default => 'topic'
|
325
|
+
default_topic (string) :default => nil
|
326
|
+
partition_key (string) :default => 'partition'
|
327
|
+
partition_key_key (string) :default => 'partition_key'
|
328
|
+
message_key_key (string) :default => 'message_key'
|
329
|
+
default_topic (string) :default => nil
|
330
|
+
default_partition_key (string) :default => nil
|
331
|
+
default_message_key (string) :default => nil
|
332
|
+
exclude_topic_key (bool) :default => false
|
333
|
+
exclude_partition_key (bool) :default => false
|
334
|
+
|
335
|
+
<format>
|
336
|
+
@type (json|ltsv|msgpack|attr:<record name>|<formatter name>) :default => json
|
337
|
+
</format>
|
338
|
+
|
339
|
+
# Optional. See https://docs.fluentd.org/v1.0/articles/inject-section
|
340
|
+
<inject>
|
341
|
+
tag_key tag
|
342
|
+
time_key time
|
343
|
+
</inject>
|
344
|
+
|
345
|
+
# See fluentd document for buffer section parameters: https://docs.fluentd.org/v1.0/articles/buffer-section
|
346
|
+
# Buffer chunk key should be same with topic_key. If value is not found in the record, default_topic is used.
|
347
|
+
<buffer topic>
|
348
|
+
flush_interval 10s
|
349
|
+
</buffer>
|
350
|
+
|
351
|
+
# You can set any rdkafka configuration via this parameter: https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md
|
352
|
+
rdkafka_options {
|
353
|
+
"log_level" : 7
|
354
|
+
}
|
355
|
+
</match>
|
356
|
+
|
357
|
+
If you use v0.12, use `rdkafka` instead.
|
358
|
+
|
315
359
|
<match kafka.**>
|
316
360
|
@type rdkafka
|
317
361
|
|
data/fluent-plugin-kafka.gemspec
CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |gem|
|
|
13
13
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
14
|
gem.name = "fluent-plugin-kafka"
|
15
15
|
gem.require_paths = ["lib"]
|
16
|
-
gem.version = '0.9.
|
16
|
+
gem.version = '0.9.3'
|
17
17
|
gem.required_ruby_version = ">= 2.1.0"
|
18
18
|
|
19
19
|
gem.add_dependency "fluentd", [">= 0.10.58", "< 2"]
|
@@ -30,6 +30,10 @@ class Fluent::KafkaGroupInput < Fluent::Input
|
|
30
30
|
:desc => "Time format to be used to parse 'time' filed."
|
31
31
|
config_param :kafka_message_key, :string, :default => nil,
|
32
32
|
:desc => "Set kafka's message key to this field"
|
33
|
+
config_param :connect_timeout, :integer, :default => nil,
|
34
|
+
:desc => "[Integer, nil] the timeout setting for connecting to brokers"
|
35
|
+
config_param :socket_timeout, :integer, :default => nil,
|
36
|
+
:desc => "[Integer, nil] the timeout setting for socket connection"
|
33
37
|
|
34
38
|
config_param :retry_wait_seconds, :integer, :default => 30
|
35
39
|
config_param :disable_retry_limit, :bool, :default => false,
|
@@ -152,16 +156,16 @@ class Fluent::KafkaGroupInput < Fluent::Input
|
|
152
156
|
super
|
153
157
|
|
154
158
|
if @scram_mechanism != nil && @username != nil && @password != nil
|
155
|
-
@kafka = Kafka.new(seed_brokers: @brokers, client_id: @client_id, logger: log, ssl_ca_cert: read_ssl_file(@ssl_ca_cert),
|
159
|
+
@kafka = Kafka.new(seed_brokers: @brokers, client_id: @client_id, logger: log, connect_timeout: @connect_timeout, socket_timeout: @socket_timeout, ssl_ca_cert: read_ssl_file(@ssl_ca_cert),
|
156
160
|
ssl_client_cert: read_ssl_file(@ssl_client_cert), ssl_client_cert_key: read_ssl_file(@ssl_client_cert_key),
|
157
161
|
ssl_ca_certs_from_system: @ssl_ca_certs_from_system, sasl_scram_username: @username, sasl_scram_password: @password,
|
158
162
|
sasl_scram_mechanism: @scram_mechanism, sasl_over_ssl: @sasl_over_ssl)
|
159
163
|
elsif @username != nil && @password != nil
|
160
|
-
@kafka = Kafka.new(seed_brokers: @brokers, client_id: @client_id, logger: log, ssl_ca_cert: read_ssl_file(@ssl_ca_cert),
|
164
|
+
@kafka = Kafka.new(seed_brokers: @brokers, client_id: @client_id, logger: log, connect_timeout: @connect_timeout, socket_timeout: @socket_timeout, ssl_ca_cert: read_ssl_file(@ssl_ca_cert),
|
161
165
|
ssl_client_cert: read_ssl_file(@ssl_client_cert), ssl_client_cert_key: read_ssl_file(@ssl_client_cert_key),
|
162
166
|
ssl_ca_certs_from_system: @ssl_ca_certs_from_system, sasl_plain_username: @username, sasl_plain_password: @password)
|
163
167
|
else
|
164
|
-
@kafka = Kafka.new(seed_brokers: @brokers, client_id: @client_id, logger: log, ssl_ca_cert: read_ssl_file(@ssl_ca_cert),
|
168
|
+
@kafka = Kafka.new(seed_brokers: @brokers, client_id: @client_id, logger: log, connect_timeout: @connect_timeout, socket_timeout: @socket_timeout, ssl_ca_cert: read_ssl_file(@ssl_ca_cert),
|
165
169
|
ssl_client_cert: read_ssl_file(@ssl_client_cert), ssl_client_cert_key: read_ssl_file(@ssl_client_cert_key),
|
166
170
|
ssl_ca_certs_from_system: @ssl_ca_certs_from_system, sasl_gssapi_principal: @principal, sasl_gssapi_keytab: @keytab)
|
167
171
|
end
|
@@ -39,7 +39,6 @@ DESC
|
|
39
39
|
config_param :default_message_key, :string, :default => nil
|
40
40
|
config_param :partition_key, :string, :default => 'partition', :desc => "Field for kafka partition"
|
41
41
|
config_param :default_partition, :integer, :default => nil
|
42
|
-
config_param :client_id, :string, :default => 'kafka'
|
43
42
|
config_param :output_data_type, :string, :default => 'json', :obsoleted => "Use <format> section instead"
|
44
43
|
config_param :output_include_tag, :bool, :default => false, :obsoleted => "Use <inject> section instead"
|
45
44
|
config_param :output_include_time, :bool, :default => false, :obsoleted => "Use <inject> section instead"
|
@@ -49,36 +48,36 @@ Set true to remove partition from data
|
|
49
48
|
DESC
|
50
49
|
config_param :exclude_message_key, :bool, :default => false,
|
51
50
|
:desc => <<-DESC
|
52
|
-
Set true to remove
|
51
|
+
Set true to remove message_key from data
|
53
52
|
DESC
|
54
53
|
config_param :exclude_topic_key, :bool, :default => false,
|
55
54
|
:desc => <<-DESC
|
56
|
-
Set true to remove topic
|
55
|
+
Set true to remove topic key from data
|
57
56
|
DESC
|
58
57
|
config_param :max_send_retries, :integer, :default => 2,
|
59
|
-
:desc => "Number of times to retry sending of messages to a leader."
|
58
|
+
:desc => "Number of times to retry sending of messages to a leader. Used for message.send.max.retries"
|
60
59
|
config_param :required_acks, :integer, :default => -1,
|
61
|
-
:desc => "The number of acks required per request."
|
60
|
+
:desc => "The number of acks required per request. Used for request.required.acks"
|
62
61
|
config_param :ack_timeout, :time, :default => nil,
|
63
|
-
:desc => "How long the producer waits for acks."
|
62
|
+
:desc => "How long the producer waits for acks. Used for request.timeout.ms"
|
64
63
|
config_param :compression_codec, :string, :default => nil,
|
65
64
|
:desc => <<-DESC
|
66
|
-
The codec the producer uses to compress messages.
|
65
|
+
The codec the producer uses to compress messages. Used for compression.codec
|
67
66
|
Supported codecs: (gzip|snappy)
|
68
67
|
DESC
|
69
68
|
|
70
|
-
config_param :rdkafka_buffering_max_ms, :integer, :default => nil
|
71
|
-
config_param :rdkafka_buffering_max_messages, :integer, :default => nil
|
72
|
-
config_param :rdkafka_message_max_bytes, :integer, :default => nil
|
73
|
-
config_param :rdkafka_message_max_num, :integer, :default => nil
|
74
|
-
config_param :rdkafka_delivery_handle_poll_timeout, :integer, :default => 30
|
75
|
-
config_param :rdkafka_options, :hash, :default => {}
|
69
|
+
config_param :rdkafka_buffering_max_ms, :integer, :default => nil, :desc => 'Used for queue.buffering.max.ms'
|
70
|
+
config_param :rdkafka_buffering_max_messages, :integer, :default => nil, :desc => 'Used for queue.buffering.max.messages'
|
71
|
+
config_param :rdkafka_message_max_bytes, :integer, :default => nil, :desc => 'Used for message.max.bytes'
|
72
|
+
config_param :rdkafka_message_max_num, :integer, :default => nil, :desc => 'Used for batch.num.messages'
|
73
|
+
config_param :rdkafka_delivery_handle_poll_timeout, :integer, :default => 30, :desc => 'Timeout for polling message wait'
|
74
|
+
config_param :rdkafka_options, :hash, :default => {}, :desc => 'Set any rdkafka configuration. See https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md'
|
76
75
|
|
77
76
|
config_param :max_enqueue_retries, :integer, :default => 3
|
78
77
|
config_param :enqueue_retry_backoff, :integer, :default => 3
|
79
78
|
|
80
|
-
config_param :service_name, :string, :default => nil
|
81
|
-
config_param :ssl_client_cert_key_password, :string, :default => nil
|
79
|
+
config_param :service_name, :string, :default => nil, :desc => 'Used for sasl.kerberos.service.name'
|
80
|
+
config_param :ssl_client_cert_key_password, :string, :default => nil, :desc => 'Used for ssl.key.password'
|
82
81
|
|
83
82
|
config_section :buffer do
|
84
83
|
config_set_default :chunk_keys, ["topic"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-kafka
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hidemasa Togashi
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-
|
12
|
+
date: 2019-05-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fluentd
|