2017-04-04 11 views
9

값이 채워지는 Influx 데이터베이스가 있습니다. 이 값은 Grafana가 제공합니다. 내가 원하는 것은 선택된 시간 간격에 따라 실제 값을 얻는 것입니다.InfluxDB 하위 쿼리를 사용하여 값 빼기

현재 나는 하나의 메트릭에 대한 다음 쿼리를 가지고 :

SELECT mean("value") FROM "table" WHERE $timeFilter GROUP BY time($interval) fill(null) 

내가 원하는 것은 단지 그 구간 내에서 값을 계산하므로, 그 간격에서 가장 낮은 값을 빼기하는 것입니다. 따라서 그래프는 0에서 시작해야합니다. 그 간격에서 가장 낮은 값을 얻으려면 내가 사용

SELECT min("value") FROM "table" WHERE $timeFilter 

그래서 나는이 같은 두 (하위 쿼리와)가 작동합니다 결합 생각 :

SELECT mean("value") - (SELECT min("value") FROM "table" WHERE $timeFilter) FROM "table" WHERE $timeFilter GROUP BY time($interval) fill(null) 

불행하게도이 나던 작품. 쿼리가 하위 쿼리로 허용되지 않습니다.

+0

어떤 인플 럭스 버전을 사용하고 있습니까? 원칙적으로 1.2와 같은 것을 할 수 있어야합니다. – Pigueiras

+0

InfluxDB 셸 버전 : 1.2.0을 사용하고 있습니다. 하위 쿼리가 가능하다는 것을 알고 있지만 설명서는 '발신자'섹션에만 있습니다. 이 문서에서는 다른 유형의 하위 쿼리 예제를 제공하지 않습니다. – Nhz

+2

당신은 완전히 옳았습니다, 불가능한 것처럼 보입니다. grafana로 템플릿 작업을하는 중 일부 해킹에서 생각했지만 작동하지 않습니다. 왜냐하면'min ("count") 대신 timestamp를 보여주기 때문입니다. 당신이 얻을 수있는 최선의 방법은 min을 계산하고 쿼리에서 상수를 빼는 것입니다. ( – Pigueiras

답변

0

@Pigueiras는 :

내 설치가 실행중인 InfluxDB의 버전을 알고 어려움에 직면 해있다. 사실, 전체 워크 플로우는 InfluxDB (시계열 데이터 저장 용) + Grafana (프런트 엔드에서 데이터 시각화 &)를 포함하여 이전 동료가 개발했습니다. 나는 그것이의 사촌 실패 할 경우 확실하지 않다

InfluxDB Subqueries in Grafana FAILS with "error parsing query: GROUP BY requires at least one aggregate function"

:

그러나, 나는 내 Grafana 다음과 같이 나 또한 Grafana에서 하위 쿼리를 사용하고 싶습니다 v4.5.2

것을 발견 버전 불일치 또는 다른 것.

귀하의 지원에 감사드립니다.

발라