I'm relatively new to fluentd.
I setup a fluentd aggregator to send logs simultaneously to ES (Elasticsearch Service managed by AWS), S3 and Splunk. In testing different failure scenarios, when the ES cluster ran out of space I started getting the errors similar to the following in the fluentd agent logs:
2018-10-25 17:32:05 +0000 [warn]: #0 dump an error event: error_class=Fluent::Plugin::Parser::ParserError error="pattern not match with data 'level=DEBUG hostIP= correlationId= thread=-kinesis-consumer-1 component=com.amazonaws.requestId message=\"x-amzn-RequestId: f56f4f15-d357-ed74-a123-4f43886ebec0\"'" location=nil tag="raw.syslog" time=2018-10-25 17:32:06.000000000 +0000 record={"host"=>"xxxxxx-xxxxxxx-6bbb864b4f-l9ck4", "ident"=>"BillingManagement", "@timestamp"=>"2018-10-25T17:32:06.566Z", "log"=>"level=DEBUG hostIP= correlationId= thread=-kinesis-consumer-1 component=com.amazonaws.requestId message=\"x-amzn-RequestId: f56f4f15-d357-ed74-a123-4f43886ebec0\""}
While ES stopped accepting logs, S3 and Splunk continued receiving logs from the fluentd aggregator without a glitch. As soon as the disk space issue was resolved, the parser error in the fluentd aggregator stopped and ES resumed accepting logs and I was able to see them in Kibana again. All the logs received while the ES cluster was out of space were not buffered to disk by the ES plugin and were lost.
What I was expecting in this scenario was that the out_elasticsearch plugin would fail to flush the buffer and keep buffering the logs to disk until the issue is resolved. Why was I getting a parser error instead that seemed to only affect the ES output plugin? What am I missing?
Thanks,