Chronograf无法使用自动加载任务隐式和显式指定dbrp

时间:2018-04-28 12:54:32

标签: influxdb kapacitor chronograf

我使用Kapacitor自动加载目录为所有envs https://docs.influxdata.com/kapacitor/v1.4/guides/load_directory/提供tick脚本 一个要求:你需要设置“dbrp” 另一种方式是你得到错误:

  

无法创建任务:必须指定dbrp

同时我想在Chronograf网页界面中调试/修改(见日志)此警报(http:// ****:8888 / sources / 1 / tickscript /)

但无法执行此操作会导致错误消息:

  

无法隐式明确地指定dbrp

因为Chronograf提供了一个“选择数据库”控件。

现在可能有人可以在Chronograf ui中调试预加载刻度脚本吗?

1 个答案:

答案 0 :(得分:0)

https://docs.influxdata.com/kapacitor/v1.5/tick/syntax/#declarations

以下段落具有指导意义:

  

数据库声明以关键字dbrp开头,后跟两个以句点分隔的字符串。第一个字符串声明将使用脚本的默认数据库。第二个字符串声明其保留策略。 请注意,在命令行上使用命令kapacitor define定义任务时,也可以使用-dbrp标志来声明数据库和保留策略,因此该语句是可选的。 ...

由于它在TICKscript中是可选的,因此您可以设置数据库声明,可以在加载脚本时从命令行设置,例如

kapacitor定义load_1 -tick〜/ tick / telegraf-autogen / load_1.tick -dbrp“ telegraf”。“ autogen”

以此方式定义,由于未在TICKscript中定义dbrp,因此将其视为隐式设置。如果您在TICKscript中定义它,则会对其明确设置。这个小细节可以解决这个难题-在加载脚本而不是TICKscript上定义dbrp。

以这种方式进行编码,如果以后将TICKscript保存在cronograf TICKscript编辑器中,则不会收到此错误,因为在TICKscript中没有明确设置

是的,您必须跟踪两段代码,例如TICKscript和用于将其加载到kapacitor的命令行。建议,在TICKscript中添加提示将有助于减少与预期dbrp有关的混淆。另外,通过dbrp将子目录中的TICKscripts(如上所示)与该目录中的加载脚本进行分组,可以使一切保持干净。