fluent-plugin-cat-sweep 0.1.3 → 0.1.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a1a1bc310740299a8f62e3f801ba1715b5bbe7b6
4
- data.tar.gz: 3d9b318ff11fc7f90ab805d7d10101dd93800555
3
+ metadata.gz: 544f11f87dd14ada6a99e6bf6c8e8afb91c815c3
4
+ data.tar.gz: a8738fa50b24923cf7594ea3d30a45e1c1c5435b
5
5
  SHA512:
6
- metadata.gz: 8f74d5c1faf9b9f5190b58c219ed2d3c982a3779cb7d7d5fccc86637b1e000b718a420b97120bf37eaa61d2664bf1706cea693c469d99621229da170625802f8
7
- data.tar.gz: 175666731ebeb4c8f7b1115b46f0437f7ccfafcca820d47beacd8cfa1e20bc5b20d4024eae3b6af471678192ef7c652d08390598e2b51c966fe36172ca9c7cd6
6
+ metadata.gz: d8c2d5ffb0b448fc28e84910387f888c578fbcee264b5fd3bdc32132998a01e4ee35bc4c0741a850e0a8518cc91e98b5b5aebdb806858c62822f339c5711e1a1
7
+ data.tar.gz: b0840fb54a3957463bb21243e5f84974514e9024d57f1b6570aa9bdf32dca000e24573aaa00e0128dfa6a139f79f07c0b3ebe0462141eccb99dc5476ff9d0676
data/.travis.yml CHANGED
@@ -1,10 +1,18 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
- - 2.0.0
5
3
  - 2.1.*
6
4
  - 2.2.*
5
+ - '2.3'
6
+ - '2.4'
7
7
  gemfile:
8
+ - gemfiles/Gemfile.fluentd.0.14
8
9
  - gemfiles/Gemfile.fluentd.0.12
9
10
  - gemfiles/Gemfile.fluentd.0.10
10
11
  - gemfiles/Gemfile.fluentd.0.10.45
12
+
13
+ matrix:
14
+ exclude:
15
+ - rvm: '2.4'
16
+ gemfile: gemfiles/Gemfile.fluentd.0.10
17
+ - rvm: '2.4'
18
+ gemfile: gemfiles/Gemfile.fluentd.0.10.45
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # 0.1.4
2
+
3
+ Enhancements:
4
+
5
+ * Support Fluentd 0.14 with compatibility API.
6
+ * https://github.com/civitaspo/fluent-plugin-cat-sweep/pull/17 ( by @cosmo0920 )
7
+
1
8
  # 0.1.3
2
9
 
3
10
  Enhancements:
data/README.md CHANGED
@@ -37,6 +37,76 @@ This plugin watches the directory (`file_path_with_glob tmp/test/access.log.*`),
37
37
 
38
38
  Our assumption is that this mechanism should provide more durability than `in_tail` (batch read overcomes than streaming read).
39
39
 
40
+ ## Potential problem of in_tail
41
+
42
+ Assume that an application outputs logs into `/tmp/test/access.log` and rotates it in every one minute interval as
43
+
44
+ (initial state)
45
+
46
+ ```
47
+ tmp/test
48
+ └── accesss.log (i-node 4478316)
49
+ ```
50
+
51
+ (one minute later)
52
+
53
+ ```
54
+ tmp/test
55
+ ├── accesss.log (i-node 4478319)
56
+ └── accesss.log.1 (i-node 4478316)
57
+ ```
58
+
59
+ (two minutes later)
60
+
61
+ ```
62
+ tmp/test
63
+ ├── accesss.log (i-node 4478322)
64
+ ├── accesss.log.1 (i-node 4478319)
65
+ └── accesss.log.2 (i-node 4478316)
66
+ ```
67
+
68
+ Your configuration of `in_tail` may become as followings:
69
+
70
+ ```apache
71
+ <source>
72
+ @type tail
73
+ path tmp/test/access.log
74
+ pos_file /var/log/td-agent/access.log.pos
75
+ tag access
76
+ format none
77
+ </source>
78
+ ```
79
+
80
+ Now, imagine that the fluentd process dies (or manually stops for maintenance) just before the 2nd file of i-node 4478319 is generated, and you restart the fluentd process after two minutes passed. Then, you miss the 2nd file of i-node 4478319.
81
+
82
+ (initial state)
83
+
84
+ ```
85
+ tmp/test
86
+ └── accesss.log (i-node 4478316) <= catch
87
+ ```
88
+
89
+ (fluentd dies)
90
+
91
+ (one minute later)
92
+
93
+ ```
94
+ tmp/test
95
+ ├── accesss.log (i-node 4478319) <= miss
96
+ └── accesss.log.1 (i-node 4478316)
97
+ ```
98
+
99
+ (two minutes later)
100
+
101
+ (fluentd restarts)
102
+
103
+ ```
104
+ tmp/test
105
+ ├── accesss.log (i-node 4478322) <= catch
106
+ ├── accesss.log.1 (i-node 4478319) <= miss
107
+ └── accesss.log.2 (i-node 4478316)
108
+ ```
109
+
40
110
  ## Configuration
41
111
 
42
112
  ```
@@ -51,31 +121,31 @@ Our assumption is that this mechanism should provide more durability than `in_ta
51
121
  keys xpath,access_time,label,payload
52
122
 
53
123
  # Required. process files that are older than this parameter(seconds).
54
- # [WARNING!!]: this plugin move or remove files even if the files open,
55
- # so this parameter is set as seconds that the application close files definitely.
124
+ # [WARNING!!]: this plugin moves or removes files even if the files are still open.
125
+ # make sure to set this parameter for seconds that the application closes files definitely.
56
126
  waiting_seconds 60
57
127
 
58
128
  # Optional. default is file.cat_sweep
59
129
  tag test.input
60
130
 
61
- # Optional. processing files is renamed with this suffix. default is .processing
131
+ # Optional. processing files are renamed with this suffix. default is .processing
62
132
  processing_file_suffix .processing
63
133
 
64
- # Optional. error files is renamed with this suffix. default is .error
134
+ # Optional. error files are renamed with this suffix. default is .error
65
135
  error_file_suffix .err
66
136
 
67
137
  # Optional. line terminater. default is "\n"
68
138
  line_terminated_by ,
69
139
 
70
- # Optional. max bytes oneline can has. default 536870912 (512MB)
140
+ # Optional. max bytes oneline can have. default 536870912 (512MB)
71
141
  oneline_max_bytes 128000
72
142
 
73
- # Optional. processed files are move to this directory.
143
+ # Optional. processed files are moved to this directory.
74
144
  # default '/tmp'
75
145
  move_to /tmp/test_processed
76
146
 
77
- # Optional. this parameter indicated, `move_to` is ignored.
78
- # files that is processed are removed.
147
+ # Optional. if this parameter is specified, `move_to` option is ignored.
148
+ # processed files are removed instead of being moved to `move_to` directory.
79
149
  # default is false.
80
150
  remove_after_processing true
81
151
 
@@ -97,7 +167,6 @@ Our assumption is that this mechanism should provide more durability than `in_ta
97
167
 
98
168
  * This plugin supports fluentd from v0.10.45
99
169
  * The support for fluentd v0.10 will end near future
100
- * The support for fluentd v0.14 is not yet
101
170
 
102
171
  ## Contributing
103
172
 
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "fluent-plugin-cat-sweep"
7
- spec.version = "0.1.3"
7
+ spec.version = "0.1.4"
8
8
  spec.authors = ["Civitaspo(takahiro.nakayama)", "Naotoshi Seo"]
9
9
  spec.email = ["civitaspo@gmail.com", "sonots@gmail.com"]
10
10
 
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'fluentd', '~> 0.14.0'
4
+ gemspec :path => "../"
@@ -1,3 +1,4 @@
1
+ require 'fluent/input'
1
2
 
2
3
  module Fluent
3
4
  class CatSweepInput < Input
@@ -24,7 +24,8 @@ class CatSweepInputTest < Test::Unit::TestCase
24
24
  ]
25
25
 
26
26
  CONFIG_MINIMUM_REQUIRED =
27
- if current_fluent_version < fluent_version('0.12.0')
27
+ if current_fluent_version < fluent_version('0.12.0') ||
28
+ current_fluent_version >= fluent_version('0.14.0')
28
29
  CONFIG_BASE + %[
29
30
  format tsv
30
31
  keys ""
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-cat-sweep
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Civitaspo(takahiro.nakayama)
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-06-21 00:00:00.000000000 Z
12
+ date: 2017-08-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fluentd
@@ -130,6 +130,7 @@ files:
130
130
  - gemfiles/Gemfile.fluentd.0.10
131
131
  - gemfiles/Gemfile.fluentd.0.10.45
132
132
  - gemfiles/Gemfile.fluentd.0.12
133
+ - gemfiles/Gemfile.fluentd.0.14
133
134
  - lib/fluent/plugin/in_cat_sweep.rb
134
135
  - test/helper.rb
135
136
  - test/test_in_cat_sweep.rb
@@ -153,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
154
  version: '0'
154
155
  requirements: []
155
156
  rubyforge_project:
156
- rubygems_version: 2.5.1
157
+ rubygems_version: 2.6.11
157
158
  signing_key:
158
159
  specification_version: 4
159
160
  summary: Fluentd plugin to cat files and move them.