我正在使用某些可能没有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
谢谢!
有一个函数“ isNull(field)”,您可以用它来评估然后计数
index=indxname search_condition
| eval countByFieldExists=if(isnull(field),"notExist","Exists")
| stats count by countByFieldExists
这样的事情应该对您有用