mongo

The
out_mongo
Output plugin writes records into MongoDB, the emerging document-oriented database system.This document does not describe all the parameters. For details, check the Further Reading section.
Fluentd enables your apps to insert records to MongoDB asynchronously with batch-insertion, unlike direct insertion of records from your apps. This has the following advantages:
- 1.less impact on application performance
- 2.higher MongoDB insertion throughput while maintaining JSON record structure
out_mongo
is not included in td-agent
, by default. Fluentd gem users will need to install the fluent-plugin-mongo
gem using the following command:$ fluent-gem install fluent-plugin-mongo
# Single MongoDB
<match mongo.**>
@type mongo
host fluentd
port 27017
database fluentd
collection test
# for capped collection
capped
capped_size 1024m
# authentication
user michael
password jordan
<inject>
# key name of timestamp
time_key time
</inject>
<buffer>
# flush
flush_interval 10s
</buffer>
</match>
Please see the Configuration File article for the basic structure and syntax of the configuration file.
The value must be
mongo
.type | default | version |
string | nil | 1.0.0 |
The MongoDB connection string for URI.
type | default | version |
string | 'localhost' | 1.0.0 |
The MongoDB hostname.
type | default | version |
integer | 27017 | 1.0.0 |
The MongoDB port.
type | default | version |
string | nil | 1.0.0 |
The database name.
type | default | version |
string | 'untagged' or required parameter if not tag_mapped | 1.0.0 |
The collection name.
type | default | version |
string | optional | 1.0.0 |
This option enables the capped collection. This is always recommended because MongoDB is not suited for storing large amounts of historical data.
type | default | version |
size | optional | 1.0.0 |
Sets the capped collection size.
type | default | version |
string | nil | 1.0.0 |
The username to use for authentication.
type | default | version |
string | nil | 1.0.0 |
The password to use for authentication.
type | default | version |
string | time | 1.0.0 |
The key name of timestamp.
type | default | version |
bool | false | 1.0.0 |
This option allows
out_mongo
to use Fluentd's tag to determine the destination collection.For example, if you generate records with tags
mongo.foo
, the records will be inserted into the foo
collection within the fluentd
database:<match mongo.*>
@type mongo
host fluentd
port 27017
database fluentd
# Set 'tag_mapped' if you want to use tag mapped mode.
tag_mapped
# If the tag is "mongo.foo", then the prefix "mongo." is removed.
# The inserted collection name is "foo".
remove_tag_prefix mongo.
# This configuration is used if the tag is not found. The default is 'untagged'.
collection misc
</match>
This option is useful for flexible log collection.
For common output / buffer parameters, please check the following articles: