如何在Splunk中的事务搜索的endswith标签中添加“ Not”

时间:2019-08-09 20:11:01

标签: splunk splunk-query splunk-sdk

我正在splunk中构建查询,以过滤以“ INFO:主要:TABLE:”开头且以“ NOT”结尾为“ INFO:主要”的日志:完成” 我希望最后不记录“完成”的所有事务。 “!” /“不”似乎无效。

我遇到的部分查询: | rex field=log "INFO:__main__:TABLE: (?<table_name>[A-Za-z_]*)" | transaction container_name startswith="INFO:__main__:TABLE:" endswith="INFO:__main__: Done"

当前查询将为我提供正确终止/状态为“已完成”的交易。我对状态为“未完成”的那个感兴趣。

我想要类似的东西: | transaction container_name startswith="INFO:__main__:TABLE:" endswith!="INFO:__main__: Done"

2 个答案:

答案 0 :(得分:0)

您已经发现,transaction命令的endwith选项不支持NOT。这没有多大意义。而且,由于Splunk中的否定搜索比肯定搜索要昂贵,因此它会使效率低下的命令甚至效率更高。

您需要找到其他方法来定义事务或使用其他命令。

答案 1 :(得分:0)

您可以在eval语句中使用正则表达式,这对startswith有效。这是一个例子: ... |交易字段开头为=“ xyz”,结尾为= eval(match(_raw,“ \ d \ d \ s + start”))。根据您的要求使用正则表达式。