我们每天必须搜索数百个警报,以测试新的欺诈系统。问题是我们必须检查每个警报,这非常耗时。
第一个查询获取警报列表以及每个警报的详细信息。
第二个查询使用已使用的ID,并搜索3个特定事件,可以是0到许多。 如果没有记录,则在用户ID中添加“ NULL”,在设备ID中添加“ N”,并在金额中添加$ 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”,“ Amount” = $ 0.00
``
Table layout of results of combined query:
--_time = Date\Timestamp (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)
答案 0 :(得分:0)
“”立即使我想到了一个子搜索,但是在这种情况下,由于该子搜索返回了太多字段,因此该方法不起作用。
尝试使用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
答案 1 :(得分:0)
我最终不得不改变搜索的方式。首先,您必须搜索仅具有“ 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