Splunk Search

How do I edit my regex to capture the shortname from a mix of FQDN and shortname host field entries?

renems
Communicator

I'm trying to create a new field based on the host field. The new field (hostname) should only contain the shortname. The host field is currently a mix of fqdn and shortnames:

server1.linux.splunk.co.uk
server2.linux.splunk.co.uk
server3
server4.linux.splunk.co.uk

So far, this comes close to what I'm trying to achieve:

| rex field=host "(?P<hostname>[^ ]+?)\."

Works great for all entries that actually do have a dot (.) in the text (number1, 2, 4). The ones without a dot (.) return blank. How do I also include the ones that don't need modification at all? (number 3)

Any help greatly appreciated!

0 Karma
1 Solution

ltrand
Contributor

It's too greedy to put against just a block of text, but as long as the field is sanitary, this should work:

(?P<hostname>[^.]+)

View solution in original post

ltrand
Contributor

It's too greedy to put against just a block of text, but as long as the field is sanitary, this should work:

(?P<hostname>[^.]+)

renems
Communicator

It does! Kudo's for you, my friend!

0 Karma
Get Updates on the Splunk Community!

Upcoming Webinar: Unmasking Insider Threats with Slunk Enterprise Security’s UEBA

Join us on Wed, Dec 10. at 10AM PST / 1PM EST for a live webinar and demo with Splunk experts! Discover how ...

.conf25 technical session recap of Observability for Gen AI: Monitoring LLM ...

If you’re unfamiliar, .conf is Splunk’s premier event where the Splunk community, customers, partners, and ...

A Season of Skills: New Splunk Courses to Light Up Your Learning Journey

There’s something special about this time of year—maybe it’s the glow of the holidays, maybe it’s the ...