fluent-plugin-influxdb 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.md +6 -0
- data/README.md +13 -24
- data/fluent-plugin-influxdb.gemspec +1 -1
- data/lib/fluent/plugin/out_influxdb.rb +15 -3
- 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: e7e725de952732ecd13619697db660c726654590
|
4
|
+
data.tar.gz: cac3f23f7b11d13417c8e4e42d66502c72a9ff0c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 23dd436de2e4d05da0845ae241ec544e23e20950f289b09acaf673833e22f94b2527c7057de4eafcdf82bf4af0fc7bdb4d3efac3ee992bd69dbe2c1c8504eac6
|
7
|
+
data.tar.gz: 8221b15b87748a38149e2393366f7f640b45aad12c68786bb6678ae20d2bf8a06f49479f6fa4005cbda5c515e88a8bbb3c4579c2a587c15958b6f35339778746
|
data/History.md
CHANGED
data/README.md
CHANGED
@@ -16,12 +16,10 @@ If you are using InfluxDB version 0.8 please specify version 0.1.8 of this plugi
|
|
16
16
|
| >= 1.0.0 | >= v0.14.0 | >= 2.1 |
|
17
17
|
| < 1.0.0 | >= v0.12.0 | >= 1.9 |
|
18
18
|
|
19
|
-
NOTE: fluent-plugin-influxdb v1.0.0 is now RC. We will release stable v1.0.0 soon.
|
20
|
-
|
21
19
|
## Installation
|
22
20
|
|
23
21
|
$ fluent-gem install fluent-plugin-influxdb -v "~> 0.3" --no-document # for fluentd v0.12 or later
|
24
|
-
$ fluent-gem install fluent-plugin-influxdb
|
22
|
+
$ fluent-gem install fluent-plugin-influxdb --no-document # for fluentd v0.14 or later
|
25
23
|
|
26
24
|
### Ruby 2.0 or earlier
|
27
25
|
|
@@ -35,7 +33,7 @@ If you don't have a problem, use ruby 2.1 or later in production.
|
|
35
33
|
|
36
34
|
Just like other regular output plugins, Use type `influxdb` in your fluentd configuration under `match` scope:
|
37
35
|
|
38
|
-
|
36
|
+
`@type` `influxdb`
|
39
37
|
|
40
38
|
--------------
|
41
39
|
|
@@ -73,6 +71,8 @@ Just like other regular output plugins, Use type `influxdb` in your fluentd conf
|
|
73
71
|
|
74
72
|
`retention_policy_key`: The name of the key in the record whose value specifies the retention policy. The default retention policy will be applied if no such key exists. influxdb >= 0.2.3 is required to use this functionality.
|
75
73
|
|
74
|
+
`cast_number_to_float`: Enable/Disable casting number to float. influxdb can't mix integer/float value in one measurement. If your pipeline can't unify record value, this parameter may help. Avoid 'field type conflict' error.
|
75
|
+
|
76
76
|
### Fluentd Tag and InfluxDB Series
|
77
77
|
|
78
78
|
influxdb plugin uses Fluentd event tag for InfluxDB series.
|
@@ -103,32 +103,21 @@ If you set `measurement` parameter, use its value instead of event tag.
|
|
103
103
|
fluentd-plugin-influxdb is a buffered output plugin. So additional buffer configuration would be (with default values):
|
104
104
|
|
105
105
|
```
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
106
|
+
<buffer>
|
107
|
+
@type memory
|
108
|
+
chunk_limit_size 524288 # 512 * 1024
|
109
|
+
chunk_limit_records 1024
|
110
|
+
flush_interval 60
|
111
|
+
retry_limit 17
|
112
|
+
retry_wait 1.0
|
113
|
+
num_threads 1
|
114
|
+
</buffer>
|
113
115
|
```
|
114
116
|
|
115
117
|
The details of BufferedOutput is [here](http://docs.fluentd.org/articles/buffer-plugin-overview).
|
116
118
|
|
117
119
|
---
|
118
120
|
|
119
|
-
fluentd-plugin-influxdb also includes the HandleTagNameMixin mixin which allows the following additional options:
|
120
|
-
|
121
|
-
```
|
122
|
-
remove_tag_prefix <tag_prefix_to_remove_including_the_dot>
|
123
|
-
remove_tag_suffix <tag_suffix_to_remove_including_the_dot>
|
124
|
-
add_tag_prefix <tag_prefix_to_add_including_the_dot>
|
125
|
-
add_tag_suffix <tag_suffix_to_add_including_the_dot>
|
126
|
-
```
|
127
|
-
|
128
|
-
---
|
129
|
-
|
130
|
-
Also please consider using [fluent-plugin-multiprocess](https://github.com/frsyuki/fluent-plugin-multiprocess) to fork multiple threads for your metrics:
|
131
|
-
|
132
121
|
## Contributing
|
133
122
|
|
134
123
|
|
@@ -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 = '1.
|
6
|
+
s.version = '1.1.0'
|
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}
|
@@ -53,7 +53,9 @@ DESC
|
|
53
53
|
desc: "The key of the key in the record that stores the retention policy name"
|
54
54
|
config_param :default_retention_policy, :string, default: nil,
|
55
55
|
desc: "The name of the default retention policy"
|
56
|
-
|
56
|
+
config_param :cast_number_to_float, :bool, default: false,
|
57
|
+
desc: "Enable/Disable casting number to float"
|
58
|
+
|
57
59
|
config_section :buffer do
|
58
60
|
config_set_default :@type, DEFAULT_BUFFER_TYPE
|
59
61
|
config_set_default :chunk_keys, ['tag']
|
@@ -98,11 +100,13 @@ DESC
|
|
98
100
|
end
|
99
101
|
end
|
100
102
|
|
103
|
+
EMPTY_STRING = ''.freeze
|
101
104
|
FORMATTED_RESULT_FOR_INVALID_RECORD = ''.freeze
|
102
105
|
|
103
106
|
def format(tag, time, record)
|
104
|
-
#
|
105
|
-
if record.empty? || record.has_value?(nil)
|
107
|
+
# nil and '' check should be in influxdb-ruby client...
|
108
|
+
if record.empty? || record.has_value?(nil) || record.has_value?(EMPTY_STRING)
|
109
|
+
log.warn "Skip record '#{record}' in '#{tag}', because either record has no value or at least a value is 'nil' inside the record."
|
106
110
|
FORMATTED_RESULT_FOR_INVALID_RECORD
|
107
111
|
else
|
108
112
|
[precision_time(time), record].to_msgpack
|
@@ -158,6 +162,14 @@ DESC
|
|
158
162
|
log.warn "Skip record '#{record}', because InfluxDB requires at least one value in raw"
|
159
163
|
next
|
160
164
|
end
|
165
|
+
|
166
|
+
if @cast_number_to_float
|
167
|
+
values.each do |key, value|
|
168
|
+
if value.is_a?(Integer)
|
169
|
+
values[key] = Float(value)
|
170
|
+
end
|
171
|
+
end
|
172
|
+
end
|
161
173
|
|
162
174
|
point = {
|
163
175
|
timestamp: timestamp,
|
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: 1.
|
4
|
+
version: 1.1.0
|
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: 2019-01-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fluentd
|
@@ -131,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
131
|
version: '0'
|
132
132
|
requirements: []
|
133
133
|
rubyforge_project:
|
134
|
-
rubygems_version: 2.6.
|
134
|
+
rubygems_version: 2.6.14.1
|
135
135
|
signing_key:
|
136
136
|
specification_version: 4
|
137
137
|
summary: A buffered output plugin for fluentd and influxDB
|