2017-11-20 1 views
0

흑연 DB를 만들 때 모든 것을 올바르게 수행했다고 생각합니다. Grafana는 데이터를 볼 수는 있지만 "쿼리 추가"를 시도 할 때 모든 필드를 선택할 수는 없습니다.InfluxDB Grafana 템플릿 : "쿼리 추가"에서 모든 필드를 선택할 수 없습니다.

내 서버의 출력은 DB가 작동하고 있음을 보여줍니다

show measurements 
name: measurements 

name 
PORT 

select * from "PORT" 
name: PORT 
time    CardNo Counter   Nodename PortNo value 
----    ------ -------   -------- ------ ----- 
1511214407000000000 18  bcast_inpackets ALPRGAGQPN2 1  500 

을 그러나, 나는 Grafana에서 "쿼리 추가"를 할 때, 나는 (내가 원하는입니다) "보낸 사람"에 PORT를 볼 수 있습니다 그러나 "WHERE"섹션에서 CardNo, Counter 등을 사용하여 선택 범위를 좁히려면 무작위로 나타납니다. 먼저 CardNo를 선택하면 18 번을 선택하게되지만 (아래 그림 참조) 다른 기준을 추가하려면 "+"를 클릭해도 "PortNo"라는 옵션이 표시되지 않습니다 (모두 빈 대화 상자가 표시됨). 수동으로 필드 값을 입력 할 수 있지만 (예 : PortNo) 다른 사용자가 그래프를 플로팅 할 것이고 기본 스키마를 반드시 알 필요는 없습니다. 또한 Nodename을 먼저 선택하면 CardNo (별난)를 선택할 수 있습니다. 나는 최종 사용자가 모든 필드 (이 경우 CardNo, Counter, Nodename 및 PortNo)를 지정할 수 있도록 필드를 원합니다.

enter image description here

내 흑연 템플릿은 이것이다 :

"[[graphite]] 
# Determines whether the graphite endpoint is enabled. 
    enabled = true 
    database = "graphite" 
# retention-policy = "" 
    bind-address = ":2003" 
    protocol = "tcp" 
# consistency-level = "one" 
    templates = [ "ASR.PORT.* .measurement.Nodename.CardNo.PortNo.Counter" 
    ] 

내 설정을 테스트하기 위해 내가 InfluxDB에 데이터 피드는 다음과 같습니다

첫째
echo "ASR.PORT.ALPRGAGQPN2.18.1.bcast_inpackets 500 `date +%s`" | nc localhost 2003 

답변

0

이 템플릿이 더 잘 작성된 것입니다 :

"ASR.PORT.* .measurement.Nodename.CardNo.PortNo.field"

이것은 bcast_inpacketsPortNo 다음의 다른 값을 데이터가 들어있는 필드로 만듭니다. 따라서 고유 한 태그가있는 시리즈를 별도의 시리즈로 구분하지 않고 모든 카운터를 동일한 시리즈의 여러 필드로 결합하여 성능 및 확장 성을 향상시키는 계열의 카디널리티를 줄입니다. value 필드.

Grafana의 유입 쿼리 빌더는 이미 선택된 태그 값에 대한 태그 값을 필터링합니다. 즉, PortNo=1을 선택하고 다른 태그를 선택하려고하면 (PortNo = 1) 태그 키만 표시됩니다.

Grafana가 브라우저에서 실행되는 쿼리를 보면 PortNo=1이 이미 선택된 경우 show tag keys from PORT where PortNo='1'과 같은 태그가 표시되고 다른 태그는 다른 쿼리가 표시됩니다.

다른 태그가 표시되지 않고 표시되는 태그가 이미 선택된 태그에 따라 다른 이유가 여기에 있습니다. 이것은 의도적으로 설계된 것이므로 다른 것을 원하면 예를 들어 태그 대신 필드에 PortNoCardNo을 작성하여 스키마를 조정해야합니다.

InfluxGraph InfluxDB를 통해 Graphite API를 쿼리하고 InfluxDB와 동일한 템플릿 구성을 지원할 수도 있습니다.

+0

나는 진전을 보이고 있지만 아직 진행중이 아닙니다. "+"가 작동하지 않는 경우 (즉, "CardNo"= 1 인 "PORT"에서 SHOW TAG KEYS를 클릭하면) 결과 쿼리가 표시됩니다. '1'이 따옴표 안에 있으면 다른 모든 필드를 볼 수 있습니다. 이제 질문은 Grafana가 SELECT를 수행 할 때 모든 값을 따옴표로 묶거나, 유입 데이터에서 새 데이터를 제출하도록하는 방법입니다. – musca999

+0

아마 Grafana 문제로보고 할 수 있습니다. 예를 들어'포트와 카드 번호가 필드 소리 인 템플릿이 당신을 위해 작동합니다.measure.Nodename.field *' – danny

+0

제안 해 주셔서 감사합니다. SELECT 문까지 선택 항목을 푸시했기 때문에 나에게 도움이되지 않을 수 있습니다. 선택 사항이 수백 가지로되어있어 다루기가 쉽지 않습니다 (예 : 20 개의 카드 각각 20 개의 포트 -> 400 개의 선택 사항). Grafana에게 문제를보고했지만 아직 아무 것도 듣지 못했습니다. 나는 그 값들을 타입 변환 할 수 있다면 흑연 대신에 네이티브의 influxdb 문법을 사용하는쪽으로 기울어 져있다. 나는 꽤 슈퍼가 아닌 해결 방법을 알아 냈다. 그러나 ":"와 함께 CardNo (또는 그 문제에 대한 숫자 필드) 접두어로 작동한다. 그것은 Grafana를 문자열로 취급하기 위해 "속임수"를냅니다. – musca999

관련 문제