Splunk Enterprise
Highlighted

Build a query to identify users not logged in last 90 dys

Explorer

For Audit purposes, I need to write a search to find out all the users who have not logged in the last 90 days in the datapower servers so that we can identify them and remove their access. I have the query to find out all the users have logged in 90 days and then manually remove the ones who haven't. But we are looking to fully do an automated query that tells us who hasn't logged in.

This is the event that logs when a user is successfully logged in

user(xxxxx): [abc.10.hsc.120]: User logged into 'environment'.

Search I am using to find who has logged in

index=datapower environment=* "user logged into" NOT svc | eval Time=strftime(time, "%H:%M:%S") | eval Date=strftime(time, "%Y-%m-%d")|dedup UserID| stats count by UserID, environment, Date, Time

Need help to write something which will tell me who has not logged in.

Labels (2)
0 Karma
Highlighted

Re: Build a query to identify users not logged in last 90 dys

SplunkTrust
SplunkTrust

Now that you have a list of everyone who has logged in, you just need to compare that to a list of all users with access.

Use the means at your disposal to create a CSV file of all Datapower users and load the file in Splunk. The CSV file should have a column called "UserID". Then you can use that file as a lookup in a query like this one:

| inputlookup datapowerusers.csv 
| search NOT [index=datapower environment=* "user logged into" NOT svc |dedup UserID | fields UserID | format]
---
If this reply helps you, an upvote would be appreciated.
0 Karma
Highlighted

Re: Build a query to identify users not logged in last 90 dys

Legend

Hi pranay04,
if you have the list off all your users, you could:

  • create a lookup (called e.g. "my_users.csv") with all these users, in a column called "UserId"
  • run a search like the following

    index=myindex earliest=-90d@d latest=now
    | eval UserId=upper(UserId)
    | stats count by UserId
    | append [ | inputlookup my
    users.csv | eval UserId=upper(UserId), count=0 | fields UserId count]
    | stats sum(count) AS Total BY UserId
    | where Total=0

Bye.
Giuseppe

0 Karma
Speak Up for Splunk Careers!

We want to better understand the impact Splunk experience and expertise has has on individuals' careers, and help highlight the growing demand for Splunk skills.