Как получить отладочную информацию при разработке тикового скрипта для конденсатора?

Мне интересно, есть ли во время разработки тикскрипта возможность сбросить состояние потока после прохождения через узел обработки (журнал в файл, stdout)?


person Grzegorz Szadkowski    schedule 27.10.2016    source источник
comment
Вы можете немного подробнее объяснить, что ищете. Я не уверен, что полностью понимаю, что вы спрашиваете   -  person Michael Desa    schedule 03.11.2016
comment
Есть узел журнала, но я предпочитаю записывать данные обратно в InfluxDb. У нас есть отдельная база данных для притока только для этой цели с политикой хранения в течение 1 дня, чтобы данные не накапливались.   -  person Mike Two    schedule 10.11.2016
comment
Вы можете получить статистику Kapacitor через REST API и загрузить их. в InfluxDB. Интересно, выпустит ли InfluxData плагин Telegraf для этого - похоже, естественный прогресс.   -  person rbinnun    schedule 10.01.2017


Ответы (4)


Я нашел полезным поставить |httpOut('id') для отладки. Позже вы сможете получить доступ к http://kapacitor-host:9092/kapacitor/v1/tasks/<task_id>/<httpOut_id> и посмотреть, какие данные проходят через этот узел.

person tmszdmsk    schedule 16.03.2017

Kapacitor имеет узел журнала, который позволяет вам сбрасывать состояние потока. в файлы журнала Kapacitor.

При использовании это будет выглядеть примерно так:

stream.from()...
  |window()
      .period(10s)
      .every(10s)
  |log()
  |count('value')
person Michael Desa    schedule 15.03.2017

Выполнение команды kapacitor show TASK_NAME должно показать вам некоторую информацию о самой задаче, но в разделе DOT: есть описание графика , который содержит статистику о том, сколько точек данных достигло какого узла.

Другой способ отладки - использование InfluxDBOutNode для хранения точек и посмотреть, что обрабатывается. Надеюсь это поможет.

person suda    schedule 14.03.2017

Я могу выгружать данные из тикового скрипта в отдельную базу данных ...

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 для просмотра результатов ...

person ericslaw    schedule 14.09.2017