使用Kapacitor 1.3,我尝试使用以下 where 节点来保持测量值为空标记。什么都没有通过,我得到了与==''相同的结果。
| where(lambda: 'process-cpu__process-name' =~ /^$/)
我可以在下面的节点中使用缺省标记的默认值和过滤此默认标记来解决此问题,但我想知道是否有更好的方法来构造初始where语句并避免额外的节点。
| default()
.tag('process-cpu__process-name','system')
| where(lambda: \"process-cpu__process-name\" == 'system' )
答案 0 :(得分:0)
确定它没有通过,导致这个
'process-cpu__process-name'
是TICKScript的字符串文字,不是对字段的引用,
"process-cpu__process-name"
在这种情况下,你的情况显然总是假的。
但是,这是一个很常见的错误,特别是对于那些既有能够容忍单一语言又能容忍单语的语言的人。单引号的双引号。 : - )
另外,TICKScript lambda中有一个名为strLength()
的函数,请找到文档here。