2017-10-26 8 views
0

를 사용 Grafana에서 데이터 시각화 :라이브 합계 (값) 나는이 구조에 따라 많은 행이있는 테이블이 InfluxQL

time    acknowledgement crit current_attempt downtime_depth execution_time hostname latency max_check_attempts metric reachable service state state_type value warn 
----    --------------- ---- --------------- -------------- -------------- -------- ------- ------------------ ------ --------- ------- ----- ---------- ----- ---- 
1507171563000000000     999            a01-pdu        kw    pdu      14.94 999 
1507171621000000000     999            a01-pdu        kw    pdu      14.92 999 
1507171678000000000     999            a01-pdu        kw    pdu      14.45 999 
1507171736000000000     999            a01-pdu        kw    pdu      14.93 999 
1507171793000000000     999            a01-pdu        kw    pdu      14.88 999 
1507171852000000000     999            a01-pdu        kw    pdu      14.92 999 
1507171909000000000     999            a01-pdu        kw    pdu      14.9 999 
1507171995000000000     999            a01-pdu        kw    pdu      14.91 999 
1507171999000000000     999            a02-pdu        kw    pdu      13.41 999 

내 목표는 마지막 항목 hostname =~ /a01-pdu|a02-pdu/을 얻고 자신의 value 열을 요약하는 것입니다

나는이 두 값의 합을 얻을 수 있어요

SELECT last(value) AS last INTO pdu_abcd12 FROM pdu WHERE hostname =~ /a01-pdu/; 
SELECT last(value) AS last INTO pdu_abcd12 FROM pdu WHERE hostname =~ /a02-pdu/; 

SELECT sum(last) FROM (SELECT * FROM pdu_abcd12 ORDER BY DESC LIMIT 8) 

time sum 
---- --- 
0 105.97 

, 그러나 그것은 influxQL 명령을 실행 나를 필요 exammple를 들어

나는 실행하는 경우 매번 데이터를보고 싶습니다. Grafana에서 라이브 데이터를 시각화 할 수 있도록 명령을 주기적으로 실행하는 방법이 있습니까?

답변

0

예를 들어, continuous queries 만들기 :

CREATE CONTINUOUS QUERY last_sum ON <db name> 
BEGIN 
    SELECT last(value) AS last INTO pdu_abcd12 
    FROM pdu 
    WHERE hostname =~ /a01-pdu/ 
    GROUP BY time(1h), hostname 
END 

참고 CQ를가 group by이 필요하다는. 호스트 이름은 또한 위의 그룹에 포함되어 여러 호스트 이름이 정규식과 일치하는지 계산합니다. 그렇지 않으면 그 값은 함께 선택됩니다.

그러나 CQ에는 몇 가지 단점이 있습니다. 예를 들어 간격으로 그룹 내에서 한 번만 실행되는 주기적 의미, 간격 사이에 중간 데이터를 포함하지 않을 수 있으며 DB가 갭으로 이어지는 경우 실행되지 않습니다 데이터에서 와일드 카드 집계가 사용될 때 고유 필드를 생성합니다 (문서 참조).

또 다른 옵션은 Kapacitor이며 유연하지만 더 복잡한 스트림 처리 구문입니다.