However, I am having a problem figuring out how to create one for Issue and one for Network, without including the words Issue or Network. The problem I am having is delineating where Issue should stop. Any grok gurus out there that can help me? Also, FYI, the number of spaces between issue and the next work varies between one and three spaces....if that matters any.
The way I see it is that you have just two patterns, which need to be parsed.
The first pattern being the following:
and the second as:
You could use the patterns included in GROK to parse this data, however please note that GROK is case sensitive. You should ideally be aware of the number of spaces or write a custom regex patterns to parse multiple spaces. Here is a sample pattern i wrote to parse the data. You can easily reuse the same logic to parse the other data as well.
You can use the grok constructor included in xpack basic to create this pattern. Or you can use the grok debugger app (https://grokdebug.herokuapp.com).
I appreciate your time but I have four fields, not two. Using the first event in the OP, I'd like to parse it out to:
FieldName
Value
Reason
New Node
IP Address
212.55.75.183
Issue
Semalt Project Spam Bot
Network
LLC "McLaut-Invest"
This then lets me further build out using geoip filtering on the IP address or analysis of the Issue field. I've got a workaround at the moment that involves regex and then mutate's gsub to remove all the crap I don't want...but, as you can see below, it's a lot of extra stuff and seems kinda hacky.
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.