fluent-plugin-influxdb 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d29189e3d13c3822ad348aa22aebcea9fd3186a0
4
- data.tar.gz: 54274d0cd3a802144c680c2236e91f5b5bb12f9f
3
+ metadata.gz: 82755a9da4083b6a3332d70c9a507c3c673cacd8
4
+ data.tar.gz: 22f34a73363cf8ad51dab907e5ed3567b8f34e7d
5
5
  SHA512:
6
- metadata.gz: c2011f8c861e6112cb2d87f661cbcdfcf8b57c35669ae51edc40c42859d03f51dc51b546a018f989882c411d797690b6bc9cba1129da6584718063b2e1cab130
7
- data.tar.gz: 0704adf0a9057025f526d2cfe2b21b00d0d7c8b51db0df36d22c2666501de3c05a333514cec13636493c5b36b1b2b7f4e437cc6906c900931ec5b998c7224811
6
+ metadata.gz: 467517fb2c36d325cdc2442472b33fc87541a6fb7af7fcd9ef5decadd25b5d28fb87223c58a56e33d1ec3e471f7fb8cfe42857c479a4af85a73ab8fdf94ca564
7
+ data.tar.gz: ced627914b119923edf46eed24a05b745435570a7ce2aae43f2aaee9e5124867db3724a6f6b515723e42e53afc4285113e715e27e5d25ae971ffad0b3e7030f5
data/History.md CHANGED
@@ -1,6 +1,12 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ 0.1.5 (May 29, 2015)
5
+ =====
6
+
7
+ - Improve write performance
8
+ - Add the ability to handle a tag
9
+
4
10
  0.1.4 (Apr 8, 2015)
5
11
  =====
6
12
 
data/README.md CHANGED
@@ -29,14 +29,16 @@ Just like other regular output plugins, Use type `influxdb` in your fluentd conf
29
29
  `password`: The password of the user, default to "root"
30
30
 
31
31
  `use_ssl`: Use SSL when connecting to influxDB. default to false
32
-
32
+
33
33
  `time_precision`: The time precision of timestamp. default to "s". should specify either second (s), millisecond (m), or microsecond (u)
34
34
 
35
+ ### Fluentd Tag and InfluxDB Series
35
36
 
37
+ influxdb plugin uses Fluentd event tag for InfluxDB series.
38
+ So if you have events with `app.event`, influxdb plugin inserts events into `app.event` series in InfluxDB.
36
39
 
37
40
  ## Configuration Example
38
41
 
39
-
40
42
  ```
41
43
  <match mylog.*>
42
44
  type influxdb
@@ -69,6 +71,17 @@ The details of BufferedOutput is [here](http://docs.fluentd.org/articles/buffer-
69
71
 
70
72
  ---
71
73
 
74
+ fluentd-plugin-influxdb also includes the HandleTagNameMixin mixin which allows the following additional options:
75
+
76
+ ```
77
+ remove_tag_prefix <tag_prefix_to_remove_including_the_dot>
78
+ remove_tag_suffix <tag_suffix_to_remove_including_the_dot>
79
+ add_tag_prefix <tag_prefix_to_add_including_the_dot>
80
+ add_tag_suffix <tag_suffix_to_add_including_the_dot>
81
+ ```
82
+
83
+ ---
84
+
72
85
  Also please consider using [fluent-plugin-multiprocess](https://github.com/frsyuki/fluent-plugin-multiprocess) to fork multiple threads for your metrics:
73
86
 
74
87
  ## Contributing
@@ -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.1.4'
6
+ s.version = '0.1.5'
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}
@@ -1,10 +1,13 @@
1
1
  # encoding: UTF-8
2
2
  require 'date'
3
3
  require 'influxdb'
4
+ require 'fluent/mixin/mixin'
4
5
 
5
6
  class Fluent::InfluxdbOutput < Fluent::BufferedOutput
6
7
  Fluent::Plugin.register_output('influxdb', self)
7
8
 
9
+ include Fluent::HandleTagNameMixin
10
+
8
11
  config_param :host, :string, :default => 'localhost'
9
12
  config_param :port, :integer, :default => 8086
10
13
  config_param :dbname, :string, :default => 'fluentd'
@@ -20,14 +23,13 @@ class Fluent::InfluxdbOutput < Fluent::BufferedOutput
20
23
 
21
24
  def configure(conf)
22
25
  super
23
- @influxdb = InfluxDB::Client.new @dbname, host: @host,
24
- port: @port,
25
- username: @user,
26
+ @influxdb = InfluxDB::Client.new @dbname, host: @host,
27
+ port: @port,
28
+ username: @user,
26
29
  password: @password,
27
30
  async: false,
28
31
  time_precision: @time_precision,
29
32
  use_ssl: @use_ssl
30
-
31
33
  end
32
34
 
33
35
  def start
@@ -35,6 +37,7 @@ class Fluent::InfluxdbOutput < Fluent::BufferedOutput
35
37
  end
36
38
 
37
39
  def format(tag, time, record)
40
+ # TODO: Use tag based chunk separation for more reliability
38
41
  [tag, time, record].to_msgpack
39
42
  end
40
43
 
@@ -43,11 +46,17 @@ class Fluent::InfluxdbOutput < Fluent::BufferedOutput
43
46
  end
44
47
 
45
48
  def write(chunk)
49
+ points = {}
46
50
  chunk.msgpack_each do |tag, time, record|
47
51
  unless record.empty?
48
52
  record[:time] = time
49
- @influxdb.write_point(tag, record)
53
+ points[tag] ||= []
54
+ points[tag] << record
50
55
  end
51
56
  end
57
+
58
+ points.each { |tag, records|
59
+ @influxdb.write_point(tag, records)
60
+ }
52
61
  end
53
62
  end
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.1.4
4
+ version: 0.1.5
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: 2015-04-07 00:00:00.000000000 Z
12
+ date: 2015-05-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fluentd