mongo_replset
The out_mongo_replset
Output plugin writes records into MongoDB, the emerging document-oriented database system.
This plugin is for users using ReplicaSet. If you are not using ReplicaSet
, please see the out_mongo
article instead.
This plugin has breaking changes since 0.8.0 due to mongo-ruby driver's breaking changes. If you are using a prior 0.7.x series, please be careful to upgrade 1.0.0 or later versions.
Why Fluentd with MongoDB?
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:
less impact on application performance
higher MongoDB insertion throughput while maintaining JSON record structure
Install
out_mongo_replset
is not included in td-agent
, by default. Fluentd gem users will need to install the fluent-plugin-mongo
gem using the following command:
Example Configuration
Please see the Store Apache Logs into MongoDB article for real-world use cases.
Please see the Configuration File article for the basic structure and syntax of the configuration file.
For <buffer>
, refer to Buffer Section Configuration.
Parameters
@type
@type
The value must be mongo
.
nodes
nodes
type | default | version |
string | required parameter | 1.0.0 |
The comma-separated node strings (e.g. host1:27017,host2:27017,host3:27017).
database
database
type | default | version |
string | required parameter | 1.0.0 |
The database name.
collection
type | default | version |
string | required parameter if not | 1.0.0 |
The collection name.
capped
capped
type | default | version |
string | optional | 1.0.0 |
This option enables the capped collection. This is always recommended because MongoDB is not suited to storing large amounts of historical data.
capped_size
capped_size
type | default | version |
size | optional | 1.0.0 |
Sets the capped collection size.
user
user
type | default | version |
string | optional | 1.0.0 |
The username to use for authentication.
password
password
type | default | version |
string | optional | 1.0.0 |
The password to use for authentication.
tag_mapped
tag_mapped
type | default | version |
string | optional | 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:
replica_set
replica_set
type | default | version |
string | required parameter | 1.0.0 |
The name of the replica set.
read
read
type | default | version |
string |
| 1.0.0 |
The ReplicaSet
read preference (e.g. secondary, etc.).
num_retries
num_retries
type | default | version |
integer | 60 | 1.0.0 |
The ReplicaSet
failover threshold. The default threshold is 60. If the retry count reaches this threshold, the plugin raises an exception.
Common Output / Buffer parameters
For common output / buffer parameters, please check the following articles:
Further Readings
If this article is incorrect or outdated, or omits critical information, please let us know. Fluentd is an open-source project under Cloud Native Computing Foundation (CNCF). All components are available under the Apache 2 License.
Last updated