【问题标题】:Find mismatched records using shared field使用共享字段查找不匹配的记录
【发布时间】:2020-09-24 00:07:56
【问题描述】:

我是 Splunk 新手,正在努力构建特定查询。任何帮助将不胜感激。

这是基本搜索。

index=index (Food="*meat*") AND (Food="*veggie*" OR Food="*fruit*")

从这里,我rex结果并排序。

| rex field=_raw "location \((?<Farm>\w+)\).*operator \((?<Farmer>\w+)\).*crops \((?<CropType>\w+)\).*"
| stats list(Farm), list(CropType), count by Farmer
| sort -count

这是一个好的开始,但它的回报比需要的多,我正在摆脱杂草。详情如下:

  • CropType 包含两个可能的值,veggiefruit
  • 我只想查看一种蔬菜和一种水果共享同一个农场的记录。 (没有水果/水果,蔬菜/蔬菜。)

这里的最终目标是为每个农民提供一份农场和作物清单。

提前感谢您的任何帮助/见解。

【问题讨论】:

  • 您的原始数据是什么样的?

标签: splunk splunk-query


【解决方案1】:

这样的东西有用吗?

index=index (Food="*meat*") AND (Food="*veggie*" OR Food="*fruit*")
| rex field=_raw "location \((?<Farm>\w+)\).*operator \((?<Farmer>\w+)\).*crops \((?<CropType>\w+)\).*"
| eval fruitFarm=if(CropType=="fruit",1,0)
| eval vegFarm=if(CropType=="veggie",1,0)
| stats sum(fruitFarm) as fruitFarm, sum(vegFarm) as vegFarm by Farm, Farmer
| where fruitFarm>0 and vegFarm>0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-03
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    相关资源
    最近更新 更多