Splunk查询中单个searchmatch添加多个匹配表达式报错如何解决
Splunk多匹配表达式timechart统计问题修复方案
错误根因
现有查询的语法问题出在count2的eval逻辑中:searchmatch()函数仅支持传入单个匹配表达式作为入参,不能直接在函数括号内用OR拼接两个待匹配字符串。
修正后查询
直接将OR逻辑移到searchmatch函数外部,分别对两个待匹配表达式调用searchmatch后做逻辑或判断即可:
index="abc" sourcetype="kube:container:abc_app" source="/var/log/containers/abc-env-*" | timechart count(eval(searchmatch("Expr1"))) as "count1", count(eval(searchmatch("Expr2") OR searchmatch("Expr3"))) as "count2"
可选简化写法
如果Expr2、Expr3没有正则特殊字符,也可以直接合并为单个正则匹配规则,减少函数调用次数:
index="abc" sourcetype="kube:container:abc_app" source="/var/log/containers/abc-env-*" | timechart count(eval(searchmatch("Expr1"))) as "count1", count(eval(searchmatch("Expr2|Expr3"))) as "count2"
内容的提问来源于stack exchange,提问作者knowledge20
相关产品推荐
相关产品推荐

