2016-10-27 12 views
6

틱 스크립트 개발 중에 프로세싱 노드를 통과 한 후 스트림 상태를 덤프 할 수있는 기회가 있는지 궁금합니다 (파일 stdout에 로그)?kapacitor에 대한 틱 스크립트를 개발할 때 디버그 정보를 얻는 방법은 무엇입니까?

+0

당신이 설명 할 수 무엇 ' 조금 더 찾고 있습니다. 나는 당신이 묻는 것을 완벽하게 따르고 있는지 확신 할 수 없다. –

+1

로그 노드가 있지만 InfluxDb에 다시 데이터를 쓰는 것을 선호한다. 우리는 데이터를 축적하지 않기 위해 1 일 보존 방침이있는이 목적을 위해 별도의 유입 db를 가지고 있습니다. –

+0

Kapacitor [REST API를 통한 통계] (https://docs.influxdata.com/kapacitor/v1.1/api/api/#tasks)를 가져 와서 InfluxDB에로드 할 수 있습니다. 나는 InfluxData가 이것을 위해 Telegraf 플러그인을 공개할지 궁금해한다. 자연스러운 진행처럼 보인다. – rbinnun

답변

1

kapacitor show TASK_NAME 명령을 실행하면 당신에게 데이터 포인트가되는 노드에 도달 얼마나 많은에 대한 통계를 포함하는 graph description 거기에 작업 자체에 대한하지만 DOT: 섹션에서 몇 가지 정보를 표시해야합니다.

또 다른 디버깅 방법은 InfluxDBOutNode을 사용하여 포인트를 저장하고 처리중인 것을 확인하는 것입니다. 희망이 도움이됩니다.

0

Kapacitor에는 스트림 상태를 Kapacitor 로그 파일로 덤프 할 수있는 Log Node이 있습니다.

사용, 그것은 다음과 같이 보일 것입니다 :

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

내가 그것을 유용 디버깅을 위해 |httpOut('id') 퍼팅 발견했다. 나중에 http://kapacitor-host:9092/kapacitor/v1/tasks/<task_id>/<httpOut_id>에 액세스하여 해당 노드를 통과하는 데이터를 확인할 수 있습니다. 내가 별도의 데이터베이스로 틱 스크립트 내에서 데이터를 덤프 수 있어요

0

...

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 탐색기를 사용하여 ...