Splunk Search

How to assemble a field via indirect references to other fields

dmankin
New Member

I have logs where the these fields exist:

raw_message="Dropped table {table_name}" table_name="jobs"

and I want to add a message field that combines these (probably using eval) like so:

message="Dropped table jobs"

How can I do this for arbitrary expansions in the raw_message? i.e. I don't know the full list of "{field_name}" fields that may appear in arbitrary raw_messages.

If it helps, I can reformat raw_message at the source to use different delimiters.

Tags (1)
0 Karma

somesoni2
Revered Legend

It may not be the complete solution to your problem as your second field names are dynamic, but give this a try (runanywhere search, first line are to generate sample data)

| gentimes start=-1 | eval raw_message="Dropped table {table_name}" | table raw_message | eval table_name="jobs" 
| eval message=replace(raw_message.table_name,"^([\{]+)\{[^\}]+\}(.+)$","\1\2")
0 Karma
Get Updates on the Splunk Community!

Introducing Value Insights (Beta): Understand the Business Impact your organization ...

Real progress on your strategic priorities starts with knowing the business outcomes your teams are delivering ...

Enterprise Security (ES) Essentials 8.3 is Now GA — Smarter Detections, Faster ...

As of today, Enterprise Security (ES) Essentials 8.3 is now generally available, helping SOC teams simplify ...

Unlock Instant Security Insights from Amazon S3 with Splunk Cloud — Try Federated ...

Availability: Must be on Splunk Cloud Platform version 10.1.2507.x to view the free trial banner. If you are ...