【问题标题】:batch query is not allowed to request data from "".""不允许批量查询向“.”请求数据
【发布时间】:2020-05-06 14:38:29
【问题描述】:

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

在 Kapacitor 配置中,我设置了一个到本地主机实例的 InfluxDB 连接,名称为 localhost(它有一个数据库 mydb 和测量值 weather.current.cloudsweather.current.visibility,默认保留策略 autogen)并创建以下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 行,显示了 _internal 数据库与 InfluxDB 之间的成功 POST,HTTP 响应结果为 204。

有人知道我可能做错了什么吗?

【问题讨论】:

    标签: ubuntu-18.04 influxdb kapacitor


    【解决方案1】:

    好的,周末后我又试了一次。在没有任何更改的情况下,它现在在失败的步骤中接受了我的脚本,但是,现在我能够在日志中找到错误消息。提到的节点是eval 节点并指向类型不匹配。当我换行时

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

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

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

    此外,我在测试期间一遍又一遍地重新定义、记录、重播和删除任务和记录,并且我可能在更改滴答脚本后忘记重新定义任务(不太确定)。改完上面,重新定义任务,重放,终于在InfluxDB实例中找到了预期的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-24
      • 2017-03-15
      • 2013-11-22
      • 1970-01-01
      • 2015-03-09
      • 1970-01-01
      • 2023-03-10
      相关资源
      最近更新 更多