Мне интересно, есть ли во время разработки тикскрипта возможность сбросить состояние потока после прохождения через узел обработки (журнал в файл, stdout)?
Как получить отладочную информацию при разработке тикового скрипта для конденсатора?
Ответы (4)
Я нашел полезным поставить |httpOut('id')
для отладки. Позже вы сможете получить доступ к http://kapacitor-host:9092/kapacitor/v1/tasks/<task_id>/<httpOut_id>
и посмотреть, какие данные проходят через этот узел.
Kapacitor имеет узел журнала, который позволяет вам сбрасывать состояние потока. в файлы журнала Kapacitor.
При использовании это будет выглядеть примерно так:
stream.from()...
|window()
.period(10s)
.every(10s)
|log()
|count('value')
Выполнение команды kapacitor show TASK_NAME
должно показать вам некоторую информацию о самой задаче, но в разделе DOT:
есть описание графика , который содержит статистику о том, сколько точек данных достигло какого узла.
Другой способ отладки - использование InfluxDBOutNode
для хранения точек и посмотреть, что обрабатывается. Надеюсь это поможет.
Я могу выгружать данные из тикового скрипта в отдельную базу данных ...
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 для просмотра результатов ...