我使用Kapacitor自动加载目录向所有envs directory/传递滴答脚本,一个要求是:您需要设置"dbrp“,否则就会出现错误:
创建任务失败:必须指定dbrp
同时,我希望在Chronograf接口(:8888/sources/1/tickscript/)中调试/修改此警报的日志(见日志)。
但不能这样做会导致错误消息:
不能隐式和显式地指定dbrp。
由于Chronograf提供了另一个"select数据库“控件。
现在可以在Chronograf中调试预加载刻度脚本了吗?
发布于 2018-11-29 20:51:39
在https://docs.influxdata.com/kapacitor/v1.5/tick/syntax/#declarations中
以下段落具有启发性:
数据库声明以关键字dbrp开头,后面跟着由句点分隔的两个字符串。第一个字符串声明默认数据库,其中将使用脚本。第二个字符串声明它的保留策略。请注意,在使用命令行上的kapacitor定义命令定义任务时,还可以使用标志-dbrp声明数据库和保留策略,因此该语句是可选的。..。
因为它在TICKscript中是可选的,所以您可以在加载脚本时从命令行设置数据库声明。
~/tick/telegraf-autogen/load_1.tick kapacitor定义load_1 -tick -dbrp "telegraf"."autogen"
通过这种方式定义,dbrp被视为隐式设置,因为它没有在TICKscript中定义。如果在TICKscript中定义了它,那么就显式地设置它。这个小细节解开了这个难题--在加载脚本上定义dbrp,而不是TICKscript。
以这种方式编码,如果稍后将TICKscript保存在cronograf TICKscript编辑器中,则不会得到此错误,因为它没有在TICKscript中显式设置。
是的,您必须跟踪两段代码,例如TICKscript和用于将其加载到kapacitor中的命令行。建议,在TICKscript中添加一个提示将有助于减少对预期的dbrp的混淆。此外,由dbrp (如上面所示)在子目录中的TICKscripts组以及该dir中的加载脚本将保持整洁。
https://stackoverflow.com/questions/50076757
复制相似问题