我对 Splunk 很陌生,基本上被扔进了深渊!! 语言也很新,所以下面的任何帮助和提示都会很棒。
我试图得到的结果是加入查询并获取用户名、ID 和登录量。
查询来自差异源、源类型和主机。
查询 1 是用户名和ID,查询 2 是用户名和登录计数。
查询 1: 用户名="实体编号=">|评估用户名=上(用户名( |重复数据删除用户名、实体编号 |将用户名重命名为用户 |表用户,实体编号
查询 2: "已成功登录。" |rex 字段=_raw "用户[\":](?[^\"IP]("|评估用户=上层(用户( | 表用户 |按用户统计计数
提前感谢您的帮助。 J
就像 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 提议的那样(。
试试这个,它加入了用户。您还应该在搜索中指定索引和源类型
userName=" entityNumber=" | eval userName=upper(userName( | dedup userName, entityNumber | 重命名 userName as User | table User, entityNumber |加入用户 [ | 搜索 "已成功登录。" |rex 字段=_raw "用户\":"|评估用户=上层(用户( |表用户 |按用户统计计数]