如何构造splunk查询以生成字段为null或不为null的事件计数?

问题描述 投票:0回答:1

我正在使用某些可能没有user_name字段的访问日志。我不需要做任何花哨的事情,我只想生成一个返回统计表的查询,该表包含事件计数,其中该字段为null或不为null。例如,我的日志结构如下:

<timestamp><field1><field2><user_name><field4>

对于匿名连接,不会记录user_name,因此这些值为空。我可以很容易地获得所有非空值:

<base_query> user_name="*" | stats count

这为我提供了一个很好的非null user_name字段表:

count
------
812093

我还可以通过做一些更多的工作来获得空字段的数量,但这似乎很混乱:

<base_query> | fillnull user_name value=NULL| search user_name=NULL | stats count

然后我得到了一个带有空用户名字段的条目数。

count
-----
31215

但是,我真正想要的是将这两个都合并为一个统计表的单个查询,理想的是:

not_null | null
----------------
812093   | 31215

谢谢!

splunk splunk-query
1个回答
0
投票

有一个函数“ isNull(field)”,您可以用它来评估然后计数

index=indxname search_condition
| eval countByFieldExists=if(isnull(field),"notExist","Exists") 
| stats count by countByFieldExists

这样的事情应该对您有用

© www.soinside.com 2019 - 2024. All rights reserved.