The json
parser plugin parses JSON logs. One JSON map per line.
See Parse Section Configurations.
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 parseryajl
: Mainly for stream parsingjson
: Standard bundled library
type | default | version |
---|---|---|
integer | 8192 | 1.0.0 |
Set the buffer size that Yajl will use when parsing streaming input.
See also: Method: Yajl::Parser#parse
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:
# conf
@type json
time_type string
time_format %d/%b/%Y:%H:%M:%S %z
# record example
{"key":"value","time":"28/Feb/2013:12:00:00 +0900"}
See also parse
Section article.
This incoming event:
{"time":1362020400,"host":"192.168.0.1","size":777,"method":"PUT"}
is parsed as:
time:
1362020400 (2013-02-28 12:00:00 +0900)
record:
{
"host" : "192.168.0.1",
"size" : 777,
"method": "PUT",
}
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.