解決したい課題
fluentdで下記のjsonをparseしたいのですが、エラーとなってしまいます。いくつかテストしてみたのですが、\nが入っている場合に、エラーとなってしまうようです。何か、解決できる良い方法はありますでしょうか?
{"log":"10.140.0.4 - - [06/Dec/2017:04:57:52 +0000] \"POST /wp-admin/admin-ajax.php HTTP/1.1\" 200 583 \"http://35.194.167.209/wp-admin/plugins.php\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36\"\n","stream":"stdout"}
version
- fluentd-0.14.25
エラー内容
2017-12-24 07:58:45 +0000 [warn]: #0 pattern not match: "{\"log\":\"10.140.0.4 - - [06/Dec/2017:04:57:52 +0000] \\"POST /wp-admin/admin-ajax.php HTTP/1.1\\" 200 583 \\"http://35.194.167.209/wp-admin/plugins.php\\" \\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36\\"" 2017-12-24 07:58:45 +0000 [warn]: #0 pattern not match: "\",\"stream\":\"stdout\"}"
成功するパターン(\nを除外)
2017-12-24 08:01:55.231837641 +0000 test.access_log: {"log":"10.140.0.4 - - [06/Dec/2017:04:57:52 +0000] \"POST /wp-admin/admin-ajax.php HTTP/1.1\" 200 583 \"http://35.194.167.209/wp-admin/plugins.php\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36\"","stream":"stdout"}
config内容
fluent.conf
<match fluent.**> type null </match> @include /etc/fluent/config.d/*.conf
- config.d/input.conf
<source> @type tail format json time_key time path /var/tmp/test-*.log pos_file /var/log/test.log.pos tag test.access_log read_from_head true </source>
- config.d/output.conf
<match test.*> @type stdout </match>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。