我的第一部剧本是用kapacitor写的。我写了一份刻度文件。下面是剧本。
stream
.from().measurement('cpu')
.where("cpu" == 'cpu-total')
.alert()
.info(lamda:TRUE)
.log('/tmp/cpu.log')我使用以下命令将滴答文件定义为kapacitor
kapacitor define highcpu -type stream -dbrp telegraf.default -tick cpu.tick跟踪误差
invalid TICKscript: parser: unexpected unknown state, last char: ':' line 5 char 14 in "info(lamda:TRUE)". expected: ")"我没搞错。我确信配置和telegraf以及进水数据库没有什么问题。
Kapacitor版本1.3.1 OS: Fedora 22
发布于 2017-08-01 17:33:22
在兰达失踪了“b”。应该是:兰博达。
发布于 2017-07-26 01:18:13
问:,我没有搞错。
A:简短的答案,语法错误。
不幸的是,Kapacitor的TICK脚本的解析器还不够成熟,您不能为此责怪他们。这个项目还处于起步阶段,因此这些错误只会在运行时出现。
问题在于您的lambda表达式.info(lamda:TRUE)。您需要告诉哪个表达式field或tag来查找它的值。
典型的lambda表达式如下所示
info(lambda: if ("sum" >= 45000, '1', '0'))info(lambda: "isPeakHour" == 'true')这里要注意的是,Kapacitor中还没有True或False。1或0通常用于表示布尔值。
您还可能希望在滴答脚本中注意到single quote和double quotes。
https://stackoverflow.com/questions/45059191
复制相似问题