0

我使用 Kapacitor 自动加载目录将刻度脚本传送到所有环境https://docs.influxdata.com/kapacitor/v1.4/guides/load_directory/ 一个要求:您需要以其他方式设置“drp”,否则会出现错误:

创建任务失败:必须指定 drp

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

但不能这样做会导致错误消息:

无法在隐式和显式中指定 drp

由于 Chronograf 提供了另一种“选择数据库”控件。

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

4

1 回答 1

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"

以这种方式定义的 dbrp 被认为是隐式设置的,因为它没有在 TICKscript 中定义。如果您在 TICKscript 中定义它,则它是显式设置的。这个小细节解决了这个难题 - 在加载脚本而不是 TICKscript 上定义 drp。

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

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

于 2018-11-29T20:51:39.277 回答