0

使用 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' )
4

1 回答 1

0

当然它不会通过,因为这个

'process-cpu__process-name'

是 TICKScript 的字符串文字,而不是对字段的引用,即

"process-cpu__process-name"

在这种情况下,您显然得到的条件总是错误的。

不过,这是一个很常见的错误,尤其是对于那些以前使用过仅允许单引号和双引号的语言的人来说。:-)

此外,TICKScript lambda 中有一个名为 的函数,请在此处strLength()查找文档。

于 2018-01-22T22:52:52.940 回答