Hi users,
I have a big string in one field from which I want to extract specific values such as user and IP address and count based by that. As a reference of my logs take a look below.
Message: The user julie connected from 127.0.0.1 but failed an authentication attempt due to the following reason: The remote connection was denied because the user name and password combination you provided is not recognized, or the selected authentication protocol is not permitted on the remote access server.
The query that I created by without success is the following:
sourcetype="WinEventLog" *remote access* *failed* | rex field=Message "The user : (?<user>[a-z].*) connected from (?<ip>[1-9].*) but.*$" | table user, ip
Do you have any suggestions??
Thanks in advance!
The regex needs to look something like this:
^\w+\s+user\s+(?<user>\S+)\s+connected\s+from\s+(?<ip>\S+)\s+
So the search will be:
sourcetype="WinEventLog" remote access failed | rex field=Message "^\w+\s+user\s+(?<user>\S+)\s+connected\s+from\s+(?<ip>\S+)\s+" | table user, ip
The capital "\S+" tells regex to grab everything that is not a space. You user names might have numbers in them for instance and you ip address has periods.
Hope that helps.
You guys are GREAT! Fantastic! I was quite close then. However, give me a little more insight here.
Breaking down the expression "(?
As for the "
I appreciate your answear, again!
The regex needs to look something like this:
^\w+\s+user\s+(?<user>\S+)\s+connected\s+from\s+(?<ip>\S+)\s+
So the search will be:
sourcetype="WinEventLog" remote access failed | rex field=Message "^\w+\s+user\s+(?<user>\S+)\s+connected\s+from\s+(?<ip>\S+)\s+" | table user, ip
The capital "\S+" tells regex to grab everything that is not a space. You user names might have numbers in them for instance and you ip address has periods.
Hope that helps.
You guys are GREAT! Fantastic! I was quite close then. However, give me a little more insight here.
Breaking down the expression "(?
As for the "
I appreciate your answear, again!
Yep, the colon after Message
is not a word character (\w)
.
The rex didn't work for me with sample data from evang_26. Updated rex which worked : "The user\s+(?