我对Splunk还是很陌生,基本上已经掉到了深渊!!语言也很新,因此下面的任何帮助和提示都会很棒。
我想得到的结果就是加入查询并获得用户名,ID和登录数量。
查询来自差异源,源类型和主机。
查询1是用户名和ID,而查询2是用户名和登录计数。
查询1: userName =“ ” entityNumber =“ ” | eval userName = upper(userName)| dedup userName,entityNumber |将userName重命名为User |表用户,entityNumber
查询2: “成功登录。” | rex field = _raw“ User [\”:] (?[^ \“ IP] )” | eval User = upper(User)|表用户|用户统计
在此先感谢您的帮助。 J
答案 0 :(得分:0)
尝试此操作,它连接到User。。您还应该在搜索中指定索引和源类型
userName =“” entityNumber =“” | eval userName = upper(userName)| dedup userName,entityNumber |将userName重命名为User |表用户,entityNumber |加入用户[|搜索 “成功登录。” | rex field = _raw“ User \”:“ |评估User = upper(User)|表User |按用户统计的数量]
答案 1 :(得分:0)
就像skoelpin所说,我建议您使用join command:
myQuery1 | join commonField [search myQuery2]
在您的情况下,这将导致类似:
userName="" entityNumber="" | eval userName=upper(userName) | dedup userName, entityNumber | rename userName as User | table User, entityNumber
| join User
[search "Successfully logged in." | rex field=_raw "User[\":](?[^\"IP])"| eval User=upper(User) | Table User | stats count by User]
请注意,您的查询可能会很慢,并且应该优化子查询(通过指定索引,例如建议的skoelpin)。