Splunk Search

Help using eval case statement using wildcards

johnward4
Communicator

I'm trying to create a new field for category based off values in my existing 'message' field.

index=network sourcetype=test
| eval category = case (like(message,"*port scan detected*"), "Network_Port_Scan", like(message,"Gateway Anti-Virus Alert*"), like(message,"*Possible TCP Flood*")), "Network_Threat_Activity", like(message,"*packet dropped*" like(message,"*connection dropped*" like(message,"*protocol dropped*"))), "Network_Wire_Activity")

Does anyone know how I accomplish this?

0 Karma
1 Solution

woodcock
Esteemed Legend

Asterisks are wild only for search and base searches. For eval and where, they are string literals so you MUST use something else like, like() or match().

View solution in original post

woodcock
Esteemed Legend

Asterisks are wild only for search and base searches. For eval and where, they are string literals so you MUST use something else like, like() or match().

johnward4
Communicator

@woodcock can I using OR operators inside a given like() statement?

example :

| eval category = case (like(message,"%port scan detected%"), "Network_Port_Scan", like(message,"%Gateway Anti-Virus Alert%" OR "%TCP Flood%"), "Network_Threat_Activity")

0 Karma

woodcock
Esteemed Legend

No but you can like() OR like() and you can use SQL boolean syntax or use match(message, "foo|bar|bat").

0 Karma
Get Updates on the Splunk Community!

Splunk Observability Cloud’s AI Assistant in Action Series: Analyzing and ...

This is the second post in our Splunk Observability Cloud’s AI Assistant in Action series, in which we look at ...

Elevate Your Organization with Splunk’s Next Platform Evolution

 Thursday, July 10, 2025  |  11AM PDT / 2PM EDT Whether you're managing complex deployments or looking to ...

Splunk Answers Content Calendar, June Edition

Get ready for this week’s post dedicated to Splunk Dashboards! We're celebrating the power of community by ...