At my organization, we created extractors using Grok patterns in our Graylog instance to parse our logs into fields.
I’ve been noticing in Graylog if an extractor doesn’t successfully parse a log (because the format doesn’t match the Grok pattern) the log doesn’t get written to an index. Instead, it generates an indexing failure.
This means that if a log format changes we’ll lose all our logs until we update our extractors.
This happened when we upgraded from Graylog 1.3 to 2.2. We’ve been using the below Grok patterns from the marketplace to parse our firewall logs. After the upgrade all of our firewall logs stopped indexing. They wouldn’t show up in any of our dashboards, streams or searches.
I looked in the Indexing Failures page and saw that all of our firewall logs were generating failures. Changing the Grok patterns fixed this.
Just to make sure I understand, if the conditional regular expression for a extractor matches a log, but the Grok pattern does not, does the log not get indexed? See the below screenshot for an example condition we used for one of the extractors: