fluent-plugin-influxdb-v2 1.8.0.pre.1021 → 1.8.0.pre.1156
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 +7 -4
- data/lib/fluent/plugin/out_influxdb2.rb +12 -2
- data/test/influxdb/plugin/output_test.rb +35 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c4a018e78cb9e91efa9f1c46135c7196ac33b5ea7583596c8aad432a3a8e2cc
|
4
|
+
data.tar.gz: e8a9499c446e0b428bf1b1d36ea1530c018fca4eb3c80bffbc2a228919e17da5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9e67f6fa6fd3a0709da0261ba970de037097d6d90cb9971df55acc21f3dc57ea8a1273a4ed6f2c2d7773ca1b32298fa6e97b1a2f303d5ea199030458bce3f04
|
7
|
+
data.tar.gz: b48d5a01cbd5841d0fc9df6fe039369d30696392815082c6aa0c249129088117423b0233c17e5be05a5fcfec25acb4f3d4dbf5dcabe37c146aecae1cdcdc4413
|
data/CHANGELOG.md
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
## 1.8.0 [unreleased]
|
2
2
|
|
3
|
+
### Features
|
4
|
+
1. [#26](https://github.com/influxdata/influxdb-plugin-fluent/pull/26): Add placeholder support for bucket & measurement fields
|
5
|
+
|
3
6
|
## 1.7.0 [2021-03-05]
|
4
7
|
|
5
8
|
### Features
|
6
|
-
1. [#23](https://github.com/influxdata/influxdb-plugin-fluent/pull/23):
|
9
|
+
1. [#23](https://github.com/influxdata/influxdb-plugin-fluent/pull/23): Add possibility to specify the certification verification behaviour
|
7
10
|
|
8
11
|
### CI
|
9
|
-
1. [#24](https://github.com/influxdata/influxdb-plugin-fluent/pull/24):
|
12
|
+
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
13
|
|
11
14
|
## 1.6.0 [2020-10-02]
|
12
15
|
|
@@ -18,7 +21,7 @@
|
|
18
21
|
|
19
22
|
## 1.5.0 [2020-07-17]
|
20
23
|
|
21
|
-
1. [#12](https://github.com/influxdata/influxdb-plugin-fluent/pull/12):
|
24
|
+
1. [#12](https://github.com/influxdata/influxdb-plugin-fluent/pull/12): Rename gem to `fluent-plugin-influxdb-v2`
|
22
25
|
|
23
26
|
### Dependencies
|
24
27
|
1. [#11](https://github.com/influxdata/influxdb-plugin-fluent/pull/11): Upgrade InfluxDB client to 1.6.0
|
@@ -26,7 +29,7 @@
|
|
26
29
|
## 1.4.0 [2020-06-19]
|
27
30
|
|
28
31
|
### Features
|
29
|
-
1. [#8](https://github.com/influxdata/influxdb-plugin-fluent/pull/8):
|
32
|
+
1. [#8](https://github.com/influxdata/influxdb-plugin-fluent/pull/8): Add support for nested fields
|
30
33
|
|
31
34
|
### Dependencies
|
32
35
|
1. [#9](https://github.com/influxdata/influxdb-plugin-fluent/pull/9): Upgrade InfluxDB client to 1.5.0
|
@@ -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.8.0.pre.
|
4
|
+
version: 1.8.0.pre.1156
|
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-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|