Splunk Search

Eval with multiple values

jwalzerpitt
Influencer

I have three event types:

eventtype="windows_login_failed"
eventtype="duo_login_failed"
eventtype="sremote_login_failed"

I am trying to run a search in which I rename the event types to a common name:

Windows = eventtype="windows_login_failed"
DUO = eventtype="duo_login_failed"
Sremote = eventtype="sremote_login_failed"

I run the following search, but I keep getting an error message stating, 'Error in 'eval' command: The expression is malformed. Expected ).'

eventtype="windows_login_failed" OR eventtype="duo_login_failed" OR eventtype="sremote_login_failed" [| inputlookup xxx_xxx ] OR [| inputlookup yyy_yyy] | eval Source = (eventtype == windows_login_failed, "Windows"), (eventtype == sremote_login_failed, "SRemote"), (eventtype == duo_login_failed, "DUO") | stats count by myuser,Source| sort -count

Any help would be greatly appreciated

Thx

0 Karma
1 Solution

cmerriman
Super Champion

you'll need to make a case statement. try this

...| eval Source = case(eventtype == "windows_login_failed", "Windows", eventtype == "sremote_login_failed", "SRemote", eventtype == "duo_login_failed", "DUO")| ...

View solution in original post

gcusello
SplunkTrust
SplunkTrust

Why you don't use a tag (e.g. Login_failed) assigned to th Three eventypes?
Bye.
Giuseppe

0 Karma

jwalzerpitt
Influencer

Excellent idea!

0 Karma

inventsekar
SplunkTrust
SplunkTrust

Please check this one -
eval Source=case(eventtype==windows_login_failed, "Windows", eventtype==sremote_login_failed, "SRemote", eventtype==duo_login_failed, "DUO")

eventtype="windows_login_failed" OR eventtype="duo_login_failed" OR eventtype="sremote_login_failed" [| inputlookup xxx_xxx ] OR [| inputlookup yyy_yyy] | eval Source=case(eventtype==windows_login_failed, "Windows", eventtype==sremote_login_failed, "SRemote", eventtype==duo_login_failed, "DUO") | stats count by myuser,Source| sort -count

jwalzerpitt
Influencer

Thx - that worked great. Appreciate the reply.

cmerriman
Super Champion

you'll need to make a case statement. try this

...| eval Source = case(eventtype == "windows_login_failed", "Windows", eventtype == "sremote_login_failed", "SRemote", eventtype == "duo_login_failed", "DUO")| ...

jwalzerpitt
Influencer

Thx - that worked great. Appreciate the reply.

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

[Puzzles] Solve, Learn, Repeat: Character substitutions with Regular Expressions

This challenge was first posted on Slack #puzzles channelFor BORE at .conf23, we had a puzzle question which ...

Splunk Community Badges!

  Hey everyone! Ready to earn some serious bragging rights in the community? Along with our existing badges ...

[Puzzles] Solve, Learn, Repeat: Matching cron expressions

This puzzle (first published here) is based on matching timestamps to cron expressions.All the timestamps ...