In the past, I was using filebeat to log to logstash directly, and putting in my own custom grok statements. It worked well but to be honest, was way more complicated than it needed to be. So I decided to reconfigure the filebeat output back to ES directly over port 9200. Everything is fine and works however, I am getting the following error while trying to ingest some of my apache ssl logs:
Provided Grok expressions do not match field value
I had this covered with my previous configuration but now that im using FB->ES directly, can't seem to find where I should be setting these custom grok statements.
Ive played around with /usr/share/filebeat/module/apache2/access/ingest/default.json but that didn't seem to work. I've also tried to configure my FB apache modules but have been running into issues there as well
filebeat doesn't support grok expressions on itself, what we do with modules is to prepare a set of predefined pipelines that are installed in the elasticsearch ingest nodes, the json files you see contain these definitions.
The paths to the files you want to collect and parse
The pipeline option set to your created pipeline
If you think that your custom patterns can be used by more people, or can be included in the apache module, we'll be happy to accept them as contributions in filebeat
Regarding the error enabling modules, your filebeat.yml configuration file needs to include the path to the modules configuration, something like this:
No easier way of doing this? I considered redirecting my output to use a pipeline to handle these but not sure if it's worth the extra complication. No way to modify the apache/access ingester directly on the few hosts where this is an issue?
Here are the GROK statements for apache access that works in my environment if you want them. Some are copied over from /usr/share/filebeat/module/apache2/access/ingest/default.json, but the others are all me.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.