批查询不允许从“”获得数据。””

问题描述 投票:0回答:1

我正在开始使用Kapacitor,并且一直在尝试运行Kapacitor文档中的first guide,但是已经有了数据。我设法定义了一个任务,但是我既不能启用它,也不能运行回填。我遇到了this question,与我的问题类似,但是那里的答案没有帮助。与错误消息相反,我得到了用于数据库,保留策略和/或度量的空字符串。

[在Kapacitor配置中,我将InfluxDB连接设置为名称为localhost的本地主机实例(其具有数据库mydb以及具有默认保留策略weather.current.clouds的度量weather.current.visibilityautogen)并创建了以下weathertest.tick脚本:

dbrp "mydb"."autogen"

var clouds = batch
  |query('select mean(value) / 100.0 as val from "mydb"."autogen"."weather.current.clouds"')
    .period(1h)
    .every(1h)
    .groupBy(time(1m), *)
    .fill(0)

var vis = batch
  |query('select mean(value) / 10000.0 as val from "mydb"."autogen"."weather.current.visibility"')
    .period(1h)
    .every(1h)
    .groupBy(time(1m), *)
    .fill(0)

clouds
  |join(vis)
    .as('c', 'v')
  |eval(lambda: 100 * (1 - "c.val") * "v.val")
    .as('pcent')
  |influxDBOut()
    .cluster('localhost')
    .database('mydb')
    .retentionPolicy('autogen')
    .measurement('testmetric')
    .tag('host', 'myhost.local')
    .tag('key', 'weather.current.lightidx')

这是经过数小时的试用(尤其是错误)后我想到的。如标题中所述,当我尝试使用kapacitor enable weathertest启用任务时,收到错误消息enabling task weathertest: batch query is not allowed to request data from "".""。当我尝试记录时,与"Backfill" example中的情况相同。同样,在该示例中,存在用于限制时间范围的开始日期和停止日期。此处给出的时间格式有误,Kapacitor无法理解。代替e。 G。 2015-10-01我必须放入2015-10-01T00:00Z,以使其至少传递有关时间格式错误的错误消息。

[Kapacitor日志中没有关于这些错误的一行,只有当我尝试删除记录时,我才得到类似remove /var/lib/kapacitor/replay/1f5...750.brpl: no such file or directory的信息,并且可以在日志中找到。日志中有很多info行,它们显示HTTP响应结果为204的_internal数据库成功往返InfluxDB的POST。

有人知道我在做什么错吗?

ubuntu-18.04 influxdb kapacitor
1个回答
0
投票

好,周末之后,我再次尝试。没有任何更改,它现在在失败的步骤中接受了我的脚本,但是,现在我已经能够在日志中找到错误消息。提到的节点是eval节点,指向类型不匹配。当我改变线

|eval(lambda: 100 * (1 - "c.val") * "v.val")

to

|eval(lambda: 100.0 * (1.0 - "c.val") * "v.val")

错误消息消失了,命令kapacitor show weathertest现在显示了相当合理的内容。

此外,我在测试过程中一遍又一遍地重新定义,记录,重放和删除了任务和记录,可能我忘记了对滴答脚本进行更改后重新定义任务(不是很确定)。更改上述内容之后,重新定义任务并重播它,我终于在InfluxDB实例中找到了预期的数据。

© www.soinside.com 2019 - 2024. All rights reserved.