从单个字段CSV文件中使用“查找”进行搜索

托马斯·韦斯特

我有一个必须监视的用户名列表,并且列表每天都在增长。我阅读了Splunk文档,看来查找是处理这种情况的最佳方法。

我的查询的目标是利用查找功能并打印出列表中所有这些用户的所有下载事件。

样本日志

index=proxy123 activity="download"

{
"machine":"1.1.1.1",
"username":"[email protected]",
"activity":"download"
}

{
"machine":"2.2.2.2",
"username":"[email protected]",
"activity":"download"
}

{
"machine":"3.3.3.3",
"username":"[email protected]",
"activity":"download"
}

样本查找(username.csv)

users
[email protected]
[email protected]
[email protected]

当前查询:

index=proxy123 activity="download" | lookup username.csv users OUTPUT users | where not isnull(users)

结果:0(不正确)

我可能无法正确理解查询。有人可以纠正我并教给我正确的方法吗?

西蒙·达夫

在查找文件中,该字段的名称为users,而在事件中为username幸运的是,该lookup命令具有一种在查找期间重命名字段的机制。尝试以下

index=proxy123 activity="download" | lookup username.csv users AS username OUTPUT users | where  isnotnull(users)

现在,根据索引中包含的数据量以及与CSV中的用户名不匹配时要丢弃多少数据,您可以尝试其他方法,例如,使用子搜索。

index=proxy123 activity="download" [ | inputlookup username.csv | rename users AS username | return username ]

子搜索(在中的位)在这里发生的情况[]是,子搜索将首先扩展为(username="[email protected]" OR username="[email protected]" OR username="[email protected]")这样您的主要搜索将变成

index=proxy123 activity="download" (username="[email protected]" OR username="[email protected]" OR username="[email protected]")

这可能比返回索引中的所有数据然后丢弃与用户列表不匹配的任何内容更有效。

此方法假定您username首先提取字段。如果不这样做,则可以尝试以下操作。

index=proxy123 activity="download" [ | inputlookup username.csv | rename users AS search | format ]

此扩展搜索将是

index=proxy123 activity="download" "[email protected]" OR "[email protected]" OR "[email protected]")

可能更适合您的数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在SQL中使用单独的字段或单个字段作为CSV

在python中使用弹性搜索dsl访问单个字段

在弹性搜索中的多个字段中使用多个参数进行搜索

如何在Django中使用单个字段创建优化或高级搜索

在AngularJS中使用搜索字段进行过滤

使用PDO从多个字段进行高级搜索

如何通过Java高级Rest客户端在Elastic Search中使用多个字段进行搜索

选择查询以在Solr中的多个字段中使用2个或多个不带双引号的单词进行搜索

在多个字段中搜索单个值

使用PHP从远程JSON文件检索数据(单个字段)

使用awk在包含跨两个文件的字段内分隔符的单个字段中搜索字符串?

使用CSV文件在字符串字段中使用单引号进行插入会导致错误

高级搜索查询可在Windows 7中查找单个字母文件扩展名

在Python中使用熊猫对多个字段进行索引

在 VBA 中使用搜索进行自定义查找

Python在每个字段中使用逗号写入CSV

跨多个字段进行精确搜索

在Haskell中使用记录进行动态字段查找

如何使用QuerySets和MySql“全文搜索”在多个字段中进行Django搜索?

如何使用codeigniter活动记录在mysql表的单个字段中搜索多个值?

Azure搜索-是否可以在单个字段(例如ElasticSearch)上使用多个分析器?

使用单个文本框将严格搜索添加到多个字段

Golang bson结构-在json中的单个字段中使用多个字段名称,但仅一个字段用于写入数据库

从多个字典写入单个CSV文件

在Java中使用正则表达式提取单个字段

从表格图像中提取单个字段以使用OCR进行优化

弹性搜索在单个查询请求中更新多个字段

如何在红宝石水豚中使用单个查找来搜索多个定位器?

使用mongodb查询单个字段