The file output plugin allows to write the data received through the input plugin to file.
The plugin supports the following configuration parameters:
Key | Description | Default |
---|---|---|
Path | Directory path to store files. If not set, Fluent Bit will write the files on it's own positioned directory. note: this option was added on Fluent Bit v1.4.6 | |
File | Set file name to store the records. If not set, the file name will be the tag associated with the records. | |
Format | The format of the file content. See also Format section. Default: out_file. | |
Mkdir | Recursively create output directory if it does not exist. Permissions set to 0755. | |
Workers | The number of workers to perform flush operations for this output. | 1 |
Output time, tag and json records. There is no configuration parameters for out_file.
tag: [time, {"key1":"value1", "key2":"value2", "key3":"value3"}]
Output the records as JSON (without additional tag
and timestamp
attributes). There is no configuration parameters for plain format.
{"key1":"value1", "key2":"value2", "key3":"value3"}
Output the records as csv. Csv supports an additional configuration parameter.
Key | Description |
---|---|
Delimiter | The character to separate each data. Accepted values are "\t" (or "tab"), "space" or "comma". Other values are ignored and will use default silently. Default: ',' |
time[delimiter]"value1"[delimiter]"value2"[delimiter]"value3"
Output the records as LTSV. LTSV supports an additional configuration parameter.
Key | Description |
---|---|
Delimiter | The character to separate each pair. Default: '\t'(TAB) |
Label_Delimiter | The character to separate label and the value. Default: ':' |
field1[label_delimiter]value1[delimiter]field2[label_delimiter]value2\n
Output the records using a custom format template.
Key | Description |
---|---|
Template | The format string. Default: '{time} {message}' |
This accepts a formatting template and fills placeholders using corresponding values in a record.
For example, if you set up the configuration as below:
[INPUT]
Name mem
[OUTPUT]
Name file
Format template
Template {time} used={Mem.used} free={Mem.free} total={Mem.total}
You will get the following output:
1564462620.000254 used=1045448 free=31760160 total=32805608
You can run the plugin from the command line or through the configuration file:
From the command line you can let Fluent Bit count up a data with the following options:
$ fluent-bit -i cpu -o file -p path=output.txt
In your main configuration file append the following Input & Output sections:
[INPUT]
Name cpu
Tag cpu
[OUTPUT]
Name file
Match *
Path output_dir