fluent-plugin-mongo 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/README.rdoc +59 -22
  2. data/VERSION +1 -1
  3. data/fluent-plugin-mongo.gemspec +3 -0
  4. metadata +60 -54
data/README.rdoc CHANGED
@@ -4,15 +4,19 @@
4
4
 
5
5
  === MongoOutput
6
6
 
7
- Store fluent-event as MongoDB Document to MongoDB database.
7
+ Store Fluentd event as a MongoDB Document to MongoDB database.
8
8
 
9
- MongoOutput set 'time' field to a document by default.
10
- You set _false_ to 'include_time_key' parameter if you disable this behaivor.
9
+ MongoOutput set "time" field to a document by default.
10
+ You set _false_ to _include_time_key_ parameter if you disable this behaivor.
11
11
 
12
12
  ==== tag mapped mode
13
13
 
14
14
  Tag mapped to MongoDB collection automatically.
15
15
 
16
+ === MongoReplSetOutput
17
+
18
+ Replica Set version of MongoOutput
19
+
16
20
  === MongoBackupOutput
17
21
 
18
22
  Store fluent-event to local capped collection for backup.
@@ -34,7 +38,7 @@ Tail capped collection to input data.
34
38
  host fluenter
35
39
  port 10000
36
40
 
37
- # You can use 'capped' if you want to use capped collection
41
+ # Set 'capped' if you want to use capped collection
38
42
  capped
39
43
  capped_size 100m
40
44
 
@@ -43,7 +47,7 @@ Tail capped collection to input data.
43
47
 
44
48
  ==== Tag mapped mode
45
49
 
46
- Use 'tag_mapped' parameter.
50
+ Use _tag_mapped_ parameter.
47
51
 
48
52
  If tag name is "foo.bar", auto create collection "foo.bar" and insert data.
49
53
 
@@ -51,7 +55,7 @@ If tag name is "foo.bar", auto create collection "foo.bar" and insert data.
51
55
  type mongo
52
56
  database fluent
53
57
 
54
- # If You use 'tag_mapped', then tag mapped mode enabled.
58
+ # Set 'tag_mapped' if you want to use tag mapped mode.
55
59
  tag_mapped
56
60
 
57
61
  # If tag is "forward.foo.bar", then prefix "forward." is removed.
@@ -69,36 +73,69 @@ If tag name is "foo.bar", auto create collection "foo.bar" and insert data.
69
73
  ===== Broken data as a BSON
70
74
 
71
75
  Fluentd event sometimes has an invalid record as a BSON.
72
- In such case, mongo plugin marshals an invalid record using Marshal.dump
76
+ In such case, Mongo plugin marshals an invalid record using Marshal.dump
73
77
  and re-inserts its to same collection.
74
78
 
75
- Example:
79
+ If passed following invalid record:
76
80
 
77
81
  {"key1": "invalid value", "key2": "valid value", "time": ISODate("2012-01-15T21:09:53Z") }
78
82
 
79
- to
83
+ then Mongo plugin converts this record to following format:
84
+
85
+ {"__broken_data": Marshal.dump result of {"key1": "invalid value", "key2": "valid value"}, "time": ISODate("2012-01-15T21:09:53Z") }
86
+
87
+ Mongo-Ruby-Driver cannot detect an invalid attribute,
88
+ so Mongo plugin marshals all attributes excluding Fluentd keys("tag_key" and "time_key").
80
89
 
81
- {"__broken_data": "Marshal.dump result", "time": ISODate("2012-01-15T21:09:53Z") }
90
+ If you want to ignore an invalid record, set _true_ to _ignore_invalid_record_ parameter in match.
82
91
 
83
- mongo-ruby-driver cannot detect invalid attribute,
84
- so mongo plugin marshals all attributes excluding Fluentd keys(tag_key and time_key).
92
+ <match forward.*>
93
+ ...
94
+
95
+ # ignore invalid documents at write operation
96
+ ignore_invalid_document true
85
97
 
86
- If you ignores an invalid record, please set 'ignore_invalid_record true' in match.
98
+ ...
99
+ </match>
87
100
 
88
101
  ===== Buffer size limitation
89
102
 
90
- MongoDB's output plugins have the limitation of buffer size.
91
- Because MongoDB and Ruby-Driver checks the total object size at each insertion.
92
- If total object size gets over the size limitation,
93
- MongoDB returns error or Ruby-Driver raises an Exception.
103
+ Mongo plugin has the limitation of buffer size.
104
+ Because MongoDB and mongo-ruby-driver checks the total object size at each insertion.
105
+ If total object size gets over the size limitation, then
106
+ MongoDB returns error or mongo-ruby-driver raises an exception.
107
+
108
+ So, Mongo plugin resets _buffer_chunk_limit_ if configurated value is larger than above limitation:
109
+ - Before v1.8, max of _buffer_chunk_limit_ is 2MB
110
+ - After v1.8, max of _buffer_chunk_limit_ is 10MB
94
111
 
95
- So, MongoDB's output plugins reset :buffer_chunk_limit if configurated value is larger than above limitation.
96
- - Before v1.8, max of :buffer_chunk_limit is 2MB
97
- - After v1.8, max of :buffer_chunk_limit is 10MB
112
+ === MongoReplSetOutput
113
+
114
+ Use _mongo_replset_ type in match.
115
+
116
+ <match mongo.**>
117
+ type mongo_replset
118
+ database fluent
119
+ collection logs
120
+
121
+ # each node separated by ','
122
+ nodes localhost:27017,localhost:27018,localhost:27019
123
+
124
+ # num_retries is threshold at failover, default is 60.
125
+ # If retry count reached this threshold, mongo plugin raises an exception.
126
+ num_retries 30
127
+
128
+ # following optional parameters passed to ReplSetConnection of mongo-ruby-driver.
129
+ # See mongo-ruby-driver docs for more detail.
130
+ #name replset_name
131
+ #read secondary
132
+ #refresh_mode sync
133
+ #refresh_interval 60
134
+ </match>
98
135
 
99
136
  === MongoBackupOutput
100
137
 
101
- Use mongo_backup type in match. mongo_backup alwalys use capped collection.
138
+ Use _mongo_backup_ type in match. _mongo_backup_ alwalys use capped collection.
102
139
 
103
140
  <match ...>
104
141
  type mongo_backup
@@ -113,7 +150,7 @@ Use mongo_backup type in match. mongo_backup alwalys use capped collection.
113
150
 
114
151
  === Tail capped collection
115
152
 
116
- Use mongo_tail type in source.
153
+ Use _mongo_tail_ type in source.
117
154
 
118
155
  <source>
119
156
  type mongo_tail
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.0
1
+ 0.6.1
@@ -1,6 +1,9 @@
1
1
  # encoding: utf-8
2
2
  $:.push File.expand_path('../lib', __FILE__)
3
3
 
4
+ # Fixup the YAML engine mismatch problem
5
+ YAML::ENGINE.yamler = "syck"
6
+
4
7
  Gem::Specification.new do |gem|
5
8
  gem.name = "fluent-plugin-mongo"
6
9
  gem.description = "MongoDB plugin for Fluent event collector"
metadata CHANGED
@@ -1,78 +1,81 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-mongo
3
- version: !ruby/object:Gem::Version
4
- version: 0.6.0
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.6.1
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Masahiro Nakagawa
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-15 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+
13
+ date: 2012-01-17 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
15
16
  name: fluentd
16
- requirement: &2155986740 !ruby/object:Gem::Requirement
17
+ requirement: &id001 !ruby/object:Gem::Requirement
17
18
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
21
22
  version: 0.10.7
22
23
  type: :runtime
23
24
  prerelease: false
24
- version_requirements: *2155986740
25
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
26
27
  name: mongo
27
- requirement: &2155985080 !ruby/object:Gem::Requirement
28
+ requirement: &id002 !ruby/object:Gem::Requirement
28
29
  none: false
29
- requirements:
30
- - - =
31
- - !ruby/object:Gem::Version
30
+ requirements:
31
+ - - "="
32
+ - !ruby/object:Gem::Version
32
33
  version: 1.5.2
33
34
  type: :runtime
34
35
  prerelease: false
35
- version_requirements: *2155985080
36
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
37
38
  name: rake
38
- requirement: &2155982420 !ruby/object:Gem::Requirement
39
+ requirement: &id003 !ruby/object:Gem::Requirement
39
40
  none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
43
44
  version: 0.9.2
44
45
  type: :development
45
46
  prerelease: false
46
- version_requirements: *2155982420
47
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
48
49
  name: simplecov
49
- requirement: &2155978740 !ruby/object:Gem::Requirement
50
+ requirement: &id004 !ruby/object:Gem::Requirement
50
51
  none: false
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
54
55
  version: 0.5.4
55
56
  type: :development
56
57
  prerelease: false
57
- version_requirements: *2155978740
58
- - !ruby/object:Gem::Dependency
58
+ version_requirements: *id004
59
+ - !ruby/object:Gem::Dependency
59
60
  name: rr
60
- requirement: &2155976020 !ruby/object:Gem::Requirement
61
+ requirement: &id005 !ruby/object:Gem::Requirement
61
62
  none: false
62
- requirements:
63
- - - ! '>='
64
- - !ruby/object:Gem::Version
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
65
66
  version: 1.0.0
66
67
  type: :development
67
68
  prerelease: false
68
- version_requirements: *2155976020
69
+ version_requirements: *id005
69
70
  description: MongoDB plugin for Fluent event collector
70
71
  email: repeatedly@gmail.com
71
- executables:
72
+ executables:
72
73
  - mongo-tail
73
74
  extensions: []
75
+
74
76
  extra_rdoc_files: []
75
- files:
77
+
78
+ files:
76
79
  - .gitignore
77
80
  - .gitmodules
78
81
  - .travis.yml
@@ -95,35 +98,38 @@ files:
95
98
  - test/test_helper.rb
96
99
  homepage: https://github.com/fluent/fluent-plugin-mongo
97
100
  licenses: []
101
+
98
102
  post_install_message:
99
103
  rdoc_options: []
100
- require_paths:
104
+
105
+ require_paths:
101
106
  - lib
102
- required_ruby_version: !ruby/object:Gem::Requirement
107
+ required_ruby_version: !ruby/object:Gem::Requirement
103
108
  none: false
104
- requirements:
105
- - - ! '>='
106
- - !ruby/object:Gem::Version
107
- version: '0'
108
- segments:
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ hash: -2592226509051705447
113
+ segments:
109
114
  - 0
110
- hash: -1464110601700401475
111
- required_rubygems_version: !ruby/object:Gem::Requirement
115
+ version: "0"
116
+ required_rubygems_version: !ruby/object:Gem::Requirement
112
117
  none: false
113
- requirements:
114
- - - ! '>='
115
- - !ruby/object:Gem::Version
116
- version: '0'
117
- segments:
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ hash: -2592226509051705447
122
+ segments:
118
123
  - 0
119
- hash: -1464110601700401475
124
+ version: "0"
120
125
  requirements: []
126
+
121
127
  rubyforge_project:
122
128
  rubygems_version: 1.8.10
123
129
  signing_key:
124
130
  specification_version: 3
125
131
  summary: MongoDB plugin for Fluent event collector
126
- test_files:
132
+ test_files:
127
133
  - test/plugin/in_mongo_tail.rb
128
134
  - test/plugin/out_mongo.rb
129
135
  - test/plugin/out_mongo_tag_collection.rb