Splunk Search

Help with hostname regex

herndona
Engager

I have concocted a basic regular expression to find all Splunk indexes from matching hosts. The idea of the regex is to find all indexes by hosts that:

  1. Begin with "us" or "ln"
  2. The third character (after us or ln) can be any character
  3. The fourth character is an x
  4. The remaining characters can be any character or number
  5. It can also be followed by .intranet.local (but is optional)

\

(Also, sourcetype should be from syslog)

Splunk searches and regexes I have tried are:

(Note, splunk isn't letting me post back slashes in my code... even if I use quadruple backslashes to try and escape, so imagine the forward slashes below are back slashes)

  • sourcetype=syslog host="(?:us|ln)/w*/./w/./w"
  • sourcetype=syslog host_regex="(?:us|ln)/w*/./w/./w"
  • sourcetype=syslog regex host="(?:us|ln)/w*/.w/w*/./w"

If I remove the regex section, and do a search with host="*", I receive indexes with host fields such as:

uslx1099.intranet.local

uslx508.intranet.local

mylx091.intranet.local

usax555

lnax01b

Any assistance or clarification as to what I may be doing wrong would be greatly appreciated.

Thanks,

0 Karma
1 Solution

somesoni2
Revered Legend

Try this

sourcetype=syslog | where match(host,"(?:us|ln)\wx.*") 

View solution in original post

somesoni2
Revered Legend

Try this

sourcetype=syslog | where match(host,"(?:us|ln)\wx.*") 
Get Updates on the Splunk Community!

Stay Connected: Your Guide to May Tech Talks, Office Hours, and Webinars!

Take a look below to explore our upcoming Community Office Hours, Tech Talks, and Webinars this month. This ...

They're back! Join the SplunkTrust and MVP at .conf24

With our highly anticipated annual conference, .conf, comes the fez-wearers you can trust! The SplunkTrust, as ...

Enterprise Security Content Update (ESCU) | New Releases

Last month, the Splunk Threat Research Team had two releases of new security content via the Enterprise ...