在为kapacitor开发tick脚本时如何获取调试信息?

时间:2016-10-27 15:03:30

标签: kapacitor

我想知道在tickscript开发期间,是否有机会在通过处理节点之后转储流状态(登录到文件,stdout)?

4 个答案:

答案 0 :(得分:5)

我发现将|httpOut('id')用于调试目的很有用。稍后您可以访问http://kapacitor-host:9092/kapacitor/v1/tasks/<task_id>/<httpOut_id>并查看通过该节点传递的数据。

答案 1 :(得分:2)

运行var isInvalid = hasDuplicateRecord(grid.store, 'time'); 命令应该向您显示有关任务本身的一些信息,但在kapacitor show TASK_NAME部分下面有graph description,其中包含有关已到达哪个节点的数据点的统计信息。

另一种调试方法是使用InfluxDBOutNode存储积分并查看正在处理的内容。希望这会有所帮助。

答案 2 :(得分:2)

Kapacitor有一个Log Node,允许您将流状态转储到Kapacitor日志文件。

在使用中,它看起来如下所示:

stream.from()...
  |window()
      .period(10s)
      .every(10s)
  |log()
  |count('value')

答案 3 :(得分:0)

我能够将tick脚本中的数据转储到单独的数据库中......

stream
    |from()
        .database('telegraf')
        .measurement('cpu')
        .groupBy(*)
        .where(lambda: "cpu" == 'cpu-total')
    |eval( lambda: 100.0 - "usage_idle" )
        .as('usage_util')
        .keep()
        .quiet()
    |InfluxDBOut()
        .create()
        .database('debugging')

然后我使用Chronograf资源管理器查看结果......