fluent-plugin-influxdb 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.md +5 -0
- data/README.md +2 -0
- data/fluent-plugin-influxdb.gemspec +1 -1
- data/lib/fluent/plugin/out_influxdb.rb +4 -2
- data/test/helper.rb +3 -0
- data/test/plugin/test_out_influxdb.rb +58 -10
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 659fc90e62fb688b58a1846586ac472afeea1930
|
4
|
+
data.tar.gz: 90a268553b8597b8fa4a2501e06820870bdf4e4c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df2e35733cc5a28310a4e77458cee98328b9ab10cebd7efcf34b61883a49f6b6336daa68b2729008a3c6588b3f34356754cfe1f3b6bb563fc9d3f57200917293
|
7
|
+
data.tar.gz: 3977a6a8914bd8078d3c29d97daad7f7329d587600349008fd02ac81515df33611ad5d2bb9493cb4917a9062d612d7caf027a3736eb381310373169db4a04e1d
|
data/History.md
CHANGED
data/README.md
CHANGED
@@ -51,6 +51,8 @@ Just like other regular output plugins, Use type `influxdb` in your fluentd conf
|
|
51
51
|
|
52
52
|
`time_precision`: The time precision of timestamp. default to "s". should specify either hour (h), minutes (m), second (s), millisecond (ms), microsecond (u), or nanosecond (ns)
|
53
53
|
|
54
|
+
`auto_tags`: Enable/Disable auto-tagging behaviour which makes strings tags.
|
55
|
+
|
54
56
|
`tag_keys`: The names of the keys to use as influxDB tags.
|
55
57
|
|
56
58
|
`sequence_tag`: The name of the tag whose value is incremented for the consecutive simultaneous events and reset to zero for a new event with the different timestamp
|
@@ -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-influxdb"
|
6
|
-
s.version = '0.3.
|
6
|
+
s.version = '0.3.1'
|
7
7
|
s.authors = ["Masahiro Nakagawa", "FangLi"]
|
8
8
|
s.email = ["repeatedly@gmail.com", "surivlee@gmail.com"]
|
9
9
|
s.description = %q{InfluxDB output plugin for Fluentd}
|
@@ -36,6 +36,8 @@ DESC
|
|
36
36
|
:desc => "Use SSL when connecting to influxDB."
|
37
37
|
config_param :verify_ssl, :bool, :default => true,
|
38
38
|
:desc => "Enable/Disable SSL Certs verification when connecting to influxDB via SSL."
|
39
|
+
config_param :auto_tags, :bool, :default => false,
|
40
|
+
:desc => "Enable/Disable auto-tagging behaviour which makes strings tags."
|
39
41
|
config_param :tag_keys, :array, :default => [],
|
40
42
|
:desc => "The names of the keys to use as influxDB tags."
|
41
43
|
config_param :sequence_tag, :string, :default => nil,
|
@@ -106,14 +108,14 @@ DESC
|
|
106
108
|
points = []
|
107
109
|
chunk.msgpack_each do |tag, time, record|
|
108
110
|
timestamp = record.delete(@time_key) || time
|
109
|
-
if tag_keys.empty?
|
111
|
+
if tag_keys.empty? && !@auto_tags
|
110
112
|
values = record
|
111
113
|
tags = {}
|
112
114
|
else
|
113
115
|
values = {}
|
114
116
|
tags = {}
|
115
117
|
record.each_pair do |k, v|
|
116
|
-
if @tag_keys.include?(k)
|
118
|
+
if (@auto_tags && v.is_a?(String)) || @tag_keys.include?(k)
|
117
119
|
# If the tag value is not nil, empty, or a space, add the tag
|
118
120
|
if v.to_s.strip != ''
|
119
121
|
tags[k] = v
|
data/test/helper.rb
CHANGED
@@ -62,7 +62,7 @@ class InfluxdbOutputTest < Test::Unit::TestCase
|
|
62
62
|
|
63
63
|
def test_format
|
64
64
|
driver = create_driver(CONFIG, 'test')
|
65
|
-
time =
|
65
|
+
time = event_time('2011-01-02 13:14:15 UTC')
|
66
66
|
|
67
67
|
driver.emit({'a' => 1}, time)
|
68
68
|
driver.emit({'a' => 2}, time)
|
@@ -76,7 +76,7 @@ class InfluxdbOutputTest < Test::Unit::TestCase
|
|
76
76
|
def test_write
|
77
77
|
driver = create_driver(CONFIG, 'input.influxdb')
|
78
78
|
|
79
|
-
time =
|
79
|
+
time = event_time('2011-01-02 13:14:15 UTC')
|
80
80
|
driver.emit({'a' => 1}, time)
|
81
81
|
driver.emit({'a' => 2}, time)
|
82
82
|
|
@@ -113,7 +113,7 @@ class InfluxdbOutputTest < Test::Unit::TestCase
|
|
113
113
|
|
114
114
|
driver = create_driver(config_with_tags, 'input.influxdb')
|
115
115
|
|
116
|
-
time =
|
116
|
+
time = event_time('2011-01-02 13:14:15 UTC')
|
117
117
|
driver.emit({'a' => 1, 'b' => ''}, time)
|
118
118
|
driver.emit({'a' => 2, 'b' => 1}, time)
|
119
119
|
driver.emit({'a' => 3, 'b' => ' '}, time)
|
@@ -147,6 +147,53 @@ class InfluxdbOutputTest < Test::Unit::TestCase
|
|
147
147
|
]
|
148
148
|
], driver.instance.influxdb.points)
|
149
149
|
end
|
150
|
+
|
151
|
+
def test_auto_tagging
|
152
|
+
config_with_tags = %Q(
|
153
|
+
#{CONFIG}
|
154
|
+
|
155
|
+
auto_tags true
|
156
|
+
)
|
157
|
+
|
158
|
+
driver = create_driver(config_with_tags, 'input.influxdb')
|
159
|
+
|
160
|
+
time = event_time("2011-01-02 13:14:15 UTC")
|
161
|
+
driver.emit({'a' => 1, 'b' => '1'}, time)
|
162
|
+
driver.emit({'a' => 2, 'b' => 1}, time)
|
163
|
+
driver.emit({'a' => 3, 'b' => ' '}, time)
|
164
|
+
|
165
|
+
|
166
|
+
data = driver.run
|
167
|
+
|
168
|
+
assert_equal([
|
169
|
+
[
|
170
|
+
[
|
171
|
+
{
|
172
|
+
:timestamp => time,
|
173
|
+
:series => 'input.influxdb',
|
174
|
+
|
175
|
+
:values => {'a' => 1},
|
176
|
+
:tags => {'b' => '1'},
|
177
|
+
},
|
178
|
+
{
|
179
|
+
:timestamp => time,
|
180
|
+
:series => 'input.influxdb',
|
181
|
+
:values => {'a' => 2, 'b' => 1},
|
182
|
+
:tags => {},
|
183
|
+
},
|
184
|
+
{
|
185
|
+
:timestamp => time,
|
186
|
+
:series => 'input.influxdb',
|
187
|
+
:values => {'a' => 3},
|
188
|
+
:tags => {},
|
189
|
+
},
|
190
|
+
|
191
|
+
],
|
192
|
+
nil,
|
193
|
+
nil
|
194
|
+
]
|
195
|
+
], driver.instance.influxdb.points)
|
196
|
+
end
|
150
197
|
|
151
198
|
def test_ignore_empty_values
|
152
199
|
config_with_tags = %Q(
|
@@ -157,7 +204,7 @@ class InfluxdbOutputTest < Test::Unit::TestCase
|
|
157
204
|
|
158
205
|
driver = create_driver(config_with_tags, 'input.influxdb')
|
159
206
|
|
160
|
-
time =
|
207
|
+
time = event_time('2011-01-02 13:14:15 UTC')
|
161
208
|
driver.emit({'b' => '3'}, time)
|
162
209
|
driver.emit({'a' => 2, 'b' => 1}, time)
|
163
210
|
|
@@ -169,6 +216,7 @@ class InfluxdbOutputTest < Test::Unit::TestCase
|
|
169
216
|
{
|
170
217
|
:timestamp => time,
|
171
218
|
:series => 'input.influxdb',
|
219
|
+
|
172
220
|
:values => {'a' => 2},
|
173
221
|
:tags => {'b' => 1},
|
174
222
|
}
|
@@ -177,7 +225,7 @@ class InfluxdbOutputTest < Test::Unit::TestCase
|
|
177
225
|
nil
|
178
226
|
]
|
179
227
|
], driver.instance.influxdb.points)
|
180
|
-
end
|
228
|
+
end
|
181
229
|
|
182
230
|
def test_seq
|
183
231
|
config = %[
|
@@ -193,11 +241,11 @@ class InfluxdbOutputTest < Test::Unit::TestCase
|
|
193
241
|
]
|
194
242
|
driver = create_driver(config, 'input.influxdb')
|
195
243
|
|
196
|
-
time =
|
244
|
+
time = event_time('2011-01-02 13:14:15 UTC')
|
197
245
|
driver.emit({'a' => 1}, time)
|
198
246
|
driver.emit({'a' => 2}, time)
|
199
247
|
|
200
|
-
time2 =
|
248
|
+
time2 = event_time('2011-01-02 13:14:16 UTC')
|
201
249
|
driver.emit({'a' => 1}, time2)
|
202
250
|
driver.emit({'a' => 2}, time2)
|
203
251
|
|
@@ -244,7 +292,7 @@ class InfluxdbOutputTest < Test::Unit::TestCase
|
|
244
292
|
]
|
245
293
|
driver = create_driver(config, 'input.influxdb')
|
246
294
|
|
247
|
-
time =
|
295
|
+
time = event_time('2011-01-02 13:14:15 UTC')
|
248
296
|
driver.emit({'a' => 1}, time)
|
249
297
|
driver.emit({'a' => 2}, time)
|
250
298
|
|
@@ -279,7 +327,7 @@ class InfluxdbOutputTest < Test::Unit::TestCase
|
|
279
327
|
]
|
280
328
|
driver = create_driver(config, 'input.influxdb')
|
281
329
|
|
282
|
-
time =
|
330
|
+
time = event_time('2011-01-02 13:14:15 UTC')
|
283
331
|
driver.emit({'a' => 1}, time)
|
284
332
|
driver.emit({'a' => 2, 'rp' => 'ephemeral_1d'}, time)
|
285
333
|
driver.emit({'a' => 3, 'rp' => 'ephemeral_1m'}, time)
|
@@ -334,7 +382,7 @@ class InfluxdbOutputTest < Test::Unit::TestCase
|
|
334
382
|
]
|
335
383
|
driver = create_driver(config, 'input.influxdb')
|
336
384
|
|
337
|
-
time =
|
385
|
+
time = event_time('2011-01-02 13:14:15 UTC')
|
338
386
|
driver.emit({'a' => 1}, time)
|
339
387
|
driver.emit({'a' => 2, 'rp' => 'ephemeral_1d'}, time)
|
340
388
|
driver.emit({'a' => 3, 'rp' => 'ephemeral_1m'}, time)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-influxdb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masahiro Nakagawa
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-01-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fluentd
|
@@ -125,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
125
|
version: '0'
|
126
126
|
requirements: []
|
127
127
|
rubyforge_project:
|
128
|
-
rubygems_version: 2.
|
128
|
+
rubygems_version: 2.5.1
|
129
129
|
signing_key:
|
130
130
|
specification_version: 4
|
131
131
|
summary: A buffered output plugin for fluentd and influxDB
|