Splunk Search

hostname extraction regex

carmackd
Communicator

Can someone please help me with a regex to extract the host name from a filename. I've got two different file naming formats.

file name 1 hostname-syslog-info-2010-08

file name 2 hostname.dev.mydomain.compdomain.com

Tags (1)
0 Karma

Lowell
Super Champion

You could try:

host_regex = [/\\]([A-Za-z0-9][A-Za-z0-9._-]+?)(-(syslog|info|\d\d\d\d-\d\d))*($|[/\\])

This approach looks for any valid hostname characters (which could include a "-") and then also has an explicit list of things that you don't want as part of the hostname, like dates, or the terms "syslog" or "info". Right now these "ignored" terms must be separate by a "-" but that could be extended.

I'm not sure if your examples are of a filename (end of the path) or a directory name (somewhere in the middle of the path), but this regex should work in either case.

The two hostnames extracted would be (1) "hostname", and (2) "hostname.dev.mydomain.compdomain.com" I assume that's what you wan't, you didn't explicitly list what you wanted to see from each example.

Also, something like "my-host.com-syslog", would be assigned the hostname "my-host.com"

bbingham
Builder

I'm not sure how this fits in what you're trying to regex, but something as simple as:

([A-z0-9]+).*

will grab any letter or numbers up to your first - or . and place it in $1.

Career Survey
First 500 qualified respondents will receive a $20 gift card! Tell us about your professional Splunk journey.
Get Updates on the Splunk Community!

Observe and Secure All Apps with Splunk

 Join Us for Our Next Tech Talk: Observe and Secure All Apps with SplunkAs organizations continue to innovate ...

What's New in Splunk Observability - August 2025

What's New We are excited to announce the latest enhancements to Splunk Observability Cloud as well as what is ...

Introduction to Splunk AI

How are you using AI in Splunk? Whether you see AI as a threat or opportunity, AI is here to stay. Lucky for ...