Fluentd
Search…
csv
The csv parser plugin parses CSV format.

Parameters

keys

type
default
version
array of string
required parameter
0.14.9
The array of names for fields on each line.

delimiter

type
default
version
string
,
0.14.2
The delimiter (character or string) separating CSV values.

parser_type

type
default
available values
version
enum
normal
normal/fast
1.7.0
The parser type used to parse the log line.
    normal uses Ruby's
    method.
    fast uses its own lightweight implementation. This parser is several times
    faster than normal but it supports only typical patterns.
Supported CSV formats by fast:
1
# non-quoted
2
value1,value2,value3,value4,value5
3
4
# quoted
5
"value1","val,ue2","va,lu,e3","val ue4",""
6
7
# escaped
8
"message","mes""sage","""message""",,""""""
9
10
# mixed
11
message,"mes,sage","me,ssa,ge",mess age,""
Copied!
If your CSV format is not matched with the above patterns, use normal parser instead.

Example

With this configuration:
1
<parse>
2
@type csv
3
keys time,host,req_id,user
4
time_key time
5
</parse>
Copied!
This incoming event:
1
2013/02/28 12:00:00,192.168.0.1,111,-
Copied!
is parsed as:
1
time:
2
1362020400 (2013/02/28/ 12:00:00)
3
4
record:
5
{
6
"host" : "192.168.0.1",
7
"req_id" : "111",
8
"user" : "-"
9
}
Copied!
If you set null_value_pattern '-' in the configuration, user field becomes nil instead of "-".
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 modified 4mo ago