2

我对 Splunk 还很陌生,基本上被彻底抛弃了!!对语言也很陌生,所以下面的任何帮助和提示都会很棒。

我想要得到的结果是加入查询并获取用户名、ID 和登录次数。

查询来自差异源、源类型和主机。

查询 1 是用户名和 ID,查询 2 是用户名和登录次数。

查询一:userName=" " entityNumber=" " | 评估用户名=上(用户名)| 去重用户名,实体号 | 将用户名重命名为用户 | 表用户,实体编号

查询2:“登录成功。” | rex field=_raw "用户[\":] (?[^\"IP] )"| 评估用户=上(用户)| 表用户 | 按用户统计

在此先感谢您的帮助。Ĵ

4

2 回答 2

4

就像 skoelpin 说的,我建议你使用join 命令

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 建议的)。

于 2018-09-13T05:50:05.090 回答
0

试试这个,它加入用户..您还应该在搜索中指定索引和源类型

userName="" entityNumber="" | 评估用户名=上(用户名)| 去重用户名,实体号 | 将用户名重命名为用户 | 表用户,实体编号 | 加入用户 [ | 搜索“登录成功”。| rex field=_raw "User\":"| eval User=upper(User) | table User | stats count by User]

于 2018-08-19T18:24:26.500 回答