fluent-plugin-influxdb-v2 1.8.0.pre.972 → 1.9.0.pre.1169
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.md +10 -5
- data/README.md +1 -1
- data/lib/fluent/plugin/out_influxdb2.rb +12 -2
- data/lib/fluent/plugin/version.rb +1 -1
- data/test/influxdb/plugin/output_test.rb +35 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ab8851d2d37988a3ba75e224b761a25d312e006a1e5955e6fe7f7eae716db31
|
4
|
+
data.tar.gz: f7365f050c1a542188a816f8d5e906e8f53722decc581fcbb41f06cc6ee4dd66
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2cda2d96e6fdf2d724cad9a7458f58fe55ac63fb85e09f746aaa2e7df9a26da6246a0681acecb8c1640add41547eed62a08a633cd1885f424b43bfb814427e87
|
7
|
+
data.tar.gz: 3f14015c32b040a8fc7614f0e3d9937f88d1b7ce6089ad942e8279163f1b4070b8b214899a95dd9ae36165d3cda55cc026c9710c8a2123fa584c80e2f37d252f
|
data/CHANGELOG.md
CHANGED
@@ -1,12 +1,17 @@
|
|
1
|
-
## 1.
|
1
|
+
## 1.9.0 [unreleased]
|
2
|
+
|
3
|
+
## 1.8.0 [2021-08-20]
|
4
|
+
|
5
|
+
### Features
|
6
|
+
1. [#26](https://github.com/influxdata/influxdb-plugin-fluent/pull/26): Add placeholder support for bucket & measurement fields
|
2
7
|
|
3
8
|
## 1.7.0 [2021-03-05]
|
4
9
|
|
5
10
|
### Features
|
6
|
-
1. [#23](https://github.com/influxdata/influxdb-plugin-fluent/pull/23):
|
11
|
+
1. [#23](https://github.com/influxdata/influxdb-plugin-fluent/pull/23): Add possibility to specify the certification verification behaviour
|
7
12
|
|
8
13
|
### CI
|
9
|
-
1. [#24](https://github.com/influxdata/influxdb-plugin-fluent/pull/24):
|
14
|
+
1. [#24](https://github.com/influxdata/influxdb-plugin-fluent/pull/24): Updat stable image to `influxdb:latest` and nightly to `quay.io/influxdb/influxdb:nightly`
|
10
15
|
|
11
16
|
## 1.6.0 [2020-10-02]
|
12
17
|
|
@@ -18,7 +23,7 @@
|
|
18
23
|
|
19
24
|
## 1.5.0 [2020-07-17]
|
20
25
|
|
21
|
-
1. [#12](https://github.com/influxdata/influxdb-plugin-fluent/pull/12):
|
26
|
+
1. [#12](https://github.com/influxdata/influxdb-plugin-fluent/pull/12): Rename gem to `fluent-plugin-influxdb-v2`
|
22
27
|
|
23
28
|
### Dependencies
|
24
29
|
1. [#11](https://github.com/influxdata/influxdb-plugin-fluent/pull/11): Upgrade InfluxDB client to 1.6.0
|
@@ -26,7 +31,7 @@
|
|
26
31
|
## 1.4.0 [2020-06-19]
|
27
32
|
|
28
33
|
### Features
|
29
|
-
1. [#8](https://github.com/influxdata/influxdb-plugin-fluent/pull/8):
|
34
|
+
1. [#8](https://github.com/influxdata/influxdb-plugin-fluent/pull/8): Add support for nested fields
|
30
35
|
|
31
36
|
### Dependencies
|
32
37
|
1. [#9](https://github.com/influxdata/influxdb-plugin-fluent/pull/9): Upgrade InfluxDB client to 1.5.0
|
data/README.md
CHANGED
@@ -19,7 +19,7 @@ This repository contains the reference Fluentd plugin for the InfluxDB 2.0.
|
|
19
19
|
The plugin is bundled as a gem and is hosted on [Rubygems](https://rubygems.org/gems/fluent-plugin-influxdb-v2). You can install the gem as follows:
|
20
20
|
|
21
21
|
```
|
22
|
-
fluent-gem install fluent-plugin-influxdb-v2 -v 1.
|
22
|
+
fluent-gem install fluent-plugin-influxdb-v2 -v 1.8.0
|
23
23
|
```
|
24
24
|
|
25
25
|
## Plugins
|
@@ -119,7 +119,7 @@ class InfluxDBOutput < Fluent::Plugin::Output
|
|
119
119
|
def write(chunk)
|
120
120
|
points = []
|
121
121
|
tag = chunk.metadata.tag
|
122
|
-
measurement =
|
122
|
+
bucket, measurement = expand_placeholders(chunk)
|
123
123
|
chunk.msgpack_each do |time, record|
|
124
124
|
if time.is_a?(Integer)
|
125
125
|
time_formatted = time
|
@@ -141,12 +141,22 @@ class InfluxDBOutput < Fluent::Plugin::Output
|
|
141
141
|
point.time(time_formatted, @precision)
|
142
142
|
points << point
|
143
143
|
end
|
144
|
-
@write_api.write(data: points)
|
144
|
+
@write_api.write(data: points, bucket: bucket)
|
145
145
|
log.debug "Written points: #{points}"
|
146
146
|
end
|
147
147
|
|
148
148
|
private
|
149
149
|
|
150
|
+
def expand_placeholders(chunk)
|
151
|
+
bucket = extract_placeholders(@bucket, chunk)
|
152
|
+
measurement = if @measurement
|
153
|
+
extract_placeholders(@measurement, chunk)
|
154
|
+
else
|
155
|
+
chunk.metadata.tag
|
156
|
+
end
|
157
|
+
[bucket, measurement]
|
158
|
+
end
|
159
|
+
|
150
160
|
def _parse_field(key, value, point)
|
151
161
|
if @tag_keys.include?(key)
|
152
162
|
point.add_tag(key, value)
|
@@ -475,4 +475,39 @@ class InfluxDBOutputTest < Minitest::Test
|
|
475
475
|
driver.feed(time, data)
|
476
476
|
time
|
477
477
|
end
|
478
|
+
|
479
|
+
def test_bucket_as_placeholder
|
480
|
+
stub_request(:any, 'https://localhost:8086/api/v2/write?bucket=placeholder_h2o_tag&org=my-org&precision=ns')
|
481
|
+
.to_return(status: 204)
|
482
|
+
driver = create_driver(%(
|
483
|
+
@type influxdb2
|
484
|
+
token my-token
|
485
|
+
bucket placeholder_${tag}
|
486
|
+
org my-org
|
487
|
+
time_precision ns
|
488
|
+
))
|
489
|
+
driver.run(default_tag: 'h2o_tag') do
|
490
|
+
emit_documents(driver)
|
491
|
+
end
|
492
|
+
assert_requested(:post, 'https://localhost:8086/api/v2/write?bucket=placeholder_h2o_tag&org=my-org&precision=ns',
|
493
|
+
times: 1, body: 'h2o_tag level=2i,location="europe" 1444897215000000000')
|
494
|
+
end
|
495
|
+
|
496
|
+
def test_measurement_as_placeholder
|
497
|
+
stub_request(:any, 'https://localhost:8086/api/v2/write?bucket=my-bucket&org=my-org&precision=ns')
|
498
|
+
.to_return(status: 204)
|
499
|
+
driver = create_driver(%(
|
500
|
+
@type influxdb2
|
501
|
+
token my-token
|
502
|
+
bucket my-bucket
|
503
|
+
org my-org
|
504
|
+
time_precision ns
|
505
|
+
measurement placeholder_${tag}
|
506
|
+
))
|
507
|
+
driver.run(default_tag: 'h2o_tag') do
|
508
|
+
emit_documents(driver)
|
509
|
+
end
|
510
|
+
assert_requested(:post, 'https://localhost:8086/api/v2/write?bucket=my-bucket&org=my-org&precision=ns',
|
511
|
+
times: 1, body: 'placeholder_h2o_tag level=2i,location="europe" 1444897215000000000')
|
512
|
+
end
|
478
513
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-influxdb-v2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.9.0.pre.1169
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jakub Bednar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
@@ -226,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
226
226
|
- !ruby/object:Gem::Version
|
227
227
|
version: 1.3.1
|
228
228
|
requirements: []
|
229
|
-
rubygems_version: 3.0.3
|
229
|
+
rubygems_version: 3.0.3.1
|
230
230
|
signing_key:
|
231
231
|
specification_version: 4
|
232
232
|
summary: InfluxDB 2 output plugin for Fluentd
|