Fluentd
Search…
json
The json parser plugin parses JSON logs. One JSON map per line.

Parameters

json_parser

type
default
available
version
enum
oj
oj, yajl, json
0.14.0
Sets the JSON parser. If you have a problem with the configured parser, check the other available parser types.
NOTE: If you want to enable json_parser oj by default, The oj gem must be installed separately. This is because oj gem is not required from fluentd by default. If oj gem is not installed, yajl is used as a fallback.
Here is a simple comparison:
    oj: Faster json parser
    yajl: Mainly for stream parsing
    json: Standard bundled library

stream_buffer_size

type
default
version
integer
8192
1.0.0
Set the buffer size that Yajl will use when parsing streaming input.

time_type

json parser changes the default value of time_type to float. If you want to parse string field, set time_type and time_format like this:
1
# conf
2
@type json
3
time_type string
4
time_format %d/%b/%Y:%H:%M:%S %z
5
6
# record example
7
{"key":"value","time":"28/Feb/2013:12:00:00 +0900"}
Copied!
See also parse Section article.

Example

This incoming event:
1
{"time":1362020400,"host":"192.168.0.1","size":777,"method":"PUT"}
Copied!
is parsed as:
1
time:
2
1362020400 (2013-02-28 12:00:00 +0900)
3
4
record:
5
{
6
"host" : "192.168.0.1",
7
"size" : 777,
8
"method": "PUT",
9
}
Copied!
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