需要通过将一个结果喂给另一个结果来组合Splunk查询



我们每天必须搜索数百个警报以测试新的欺诈系统。问题是我们必须查看所有非常耗时的警报。

第一个查询获取警报列表和每个详细信息。

第二查询获取已使用的ID,并搜索3个特定事件,其中可能为0。如果没有记录,则将" null"添加到用户ID,n"到设备ID,并在金额

中添加$ 0.00

需要将两个查询的结果放入提取表中。

index=mbank_p_database sourcetype=mbank_event EventTypeID=1095 
| dedup OLBUserID
| table _time, SessionID, EventTypeID, OLBUserID, score, risk_rating, reason_code 
| sort _time
index=mbank_p_database sourcetype=mbank_event EventTypeID=1000 OR EventTypeID=1011 OR EventTypeID=1012 OLBUserID=<Results from 1st query>
| table UDID, Amount

如果用户ID的第二个查询中没有结果,请制作" udid" =" n",而"量" = $ 0.00

``
Table layout of results of combined query:
--_time = DateTimestamp (1st Query)
--SessionID = "SessionID" (1st Query)
--OLBUserID = "UserID" (1st Query)
--Deposit? = ("Y" or "N") (2nd Query)
--score = "Score" (1st Query)
--risk_rating = "Rating" (1st Query)
--reason_code = "Reason Code"  (1st Query)

"立即想到了一个搜索,但是在这种情况下这不起作用,因为subsearch返回了太多字段。

尝试使用stats组合两个搜索。这样的东西:

index=mbank_p_database sourcetype=mbank_event (EventTypeID=1095 OR EventTypeID=1000 OR EventTypeID=1011 OR EventTypeID=1012) 
| stats values(*) as * by OLBUserID
| table _time, SessionID, EventTypeID, OLBUserID, score, risk_rating, reason_code 

我最终必须更改搜索的工作方式。首先,您必须仅搜索所有具有" EventTypeid = 1095"的项目。然后获取这些结果,然后将它们添加到子搜索中。我添加了空白字段,以便用户可以将其直接导出到电子表格进行研究。

最终SPL:

index=mbank_p_database sourcetype=mbank_event EventTypeID=1095
| dedup OLBUserID 
| join type=left SessionID 
    [ search index=mbank_p_database sourcetype=mbank_event EventTypeID=1000 OR EventTypeID=1011 OR EventTypeID=1012]
| eval "Deposit?"=case(Amount<=0.0000, "N", Amount>0.0000, "Y") 
| table _time, SessionID, UDID, OLBUserID, "Deposit?", Amount, "Bank#", "Acct Type", "Acct#", "Fraud?", "Comments", score, risk_rating, reason_code 
| sort -_time 

相关内容

最新更新