Splunk Search

table order with eval

mikesangray
Path Finder

I've got a search that does a |table prior to doing an |eval for ldapfilter. The search results are displayed in a seemingly random order (not the order specified after |table). Is there a better way to do this so I can specify the results display order?

index=blah |table _time,UserName,displayName,IpAddress |eval ID=UserName |ldapfilter search="(&(samAccountName=$ID$))" attrs="displayName"

Note: For some reason doing the order of |table vs. |eval |ldapfilter heavily impacts search performance.

Faster (11-12 secs):

index=blah |table _time,UserName,displayName,IpAddress |eval ID=UserName |ldapfilter search="(&(samAccountName=$ID$))" attrs="displayName"

Much slower (116-117 secs):

index=blah |eval ID=UserName |ldapfilter search="(&(samAccountName=$ID$))" attrs="displayName" |table _time,UserName,displayName,IpAddress
Tags (1)
0 Karma

richgalloway
SplunkTrust
SplunkTrust

Do your events have a large number of fields? If so, that might explain the performance difference as the table command would reduce the number of fields to process. Try this:

index=blah |fields _time,UserName,displayName,IpAddress | eval ID=UserName |ldapfilter search="(&(samAccountName=$ID$))" attrs="displayName" |table _time,UserName,displayName,IpAddress
---
If this reply helps you, Karma would be appreciated.
0 Karma

mikesangray
Path Finder

Not a large number of fields - only 24 including host, source, and sourcetype. Putting |fields in did not help.

Here are the results from job inspector for 'command.ldapfilter'.

|table |eval |ldapfilter = 18.32 seconds
|eval |ldapfilter |table = 120.52 seconds
|fields |eval |ldapfilter |table = 120.43 seconds

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!

Persistent Queue at TcpOut — One of Splunk's Most Practical Features

Splunk introduced persistent queueing at the tcpout layer as one of the most practical resilience features in ...

Build resilience for the agentic era: Join us at Splunk Go San Jose

AI is changing how organizations build, operate, and secure digital services. As teams adopt AI agents and ...

Manage Edge Processor pipelines end to end with APIs

This guide uses the Data Management APIs to create an Edge Processor, onboard one instance, deploy a pipeline ...