我是Splunk的新手,基本上已经被深陷了!对语言也很新,所以对下面的任何帮助和提示都会很棒。
我想要获得的是加入查询并获取用户名,ID和登录量。
查询来自不同的源,源类型和主机。
查询1是用户名和ID,查询2是用户名和登录计数。
查询1:userName =“”entityNumber =“”| eval userName = upper(userName)| dedup userName,entityNumber |将userName重命名为User |表User,entityNumber
查询2:“已成功登录。” | rex field = _raw“User [\”:](?[^ \“IP])”| eval User = upper(User)|表用户|统计数据按用户计算
在此先感谢您的帮助。 Ĵ
试试这个,它加入用户..你还应该在搜索中指定索引和源类型
userName =“”entityNumber =“”| eval userName = upper(userName)| dedup userName,entityNumber |将userName重命名为User | table User,entityNumber |加入用户[|搜索“已成功登录”。 | rex field = _raw“User \”:“| eval User = upper(User)| table User | stats count by User]
像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建议)。