2017-10-06 1 views
1

HTTP 요청의 QPS 및 지연 시간 (RED 메트릭)을 표시하는 각 API 끝점에 대한 드롭 다운을 넣으려고합니다.Prometheus Grafana 템플릿 순서별 계산

Grafana의 템플릿을 사용하고 다음과 같은 prometheus 쿼리를 사용했습니다.

label_values(http_duration_milliseconds_count, api_path) 

하지만 문제는 정렬 순서입니다./admin/phpMyAdmin all과 같은 longtail API 요청을 보여줍니다.

이 드롭 다운에 표시 될 카운트 수로 상위 10 개의 엔드 포인트 만 수행하려고합니다. 이것을 어떻게 성취합니까?

내 첫 번째 대시 보드에 참조 용 이미지가 첨부되었습니다.

enter image description here

답변

2

우리는 이것을 달성하기 위해 query_result를 사용할 수 있습니다.

http://docs.grafana.org/features/datasources/prometheus/#query-variable

query_result(topk(10, sort_desc(sum(http_tt_ms_count) by (api_path)))) 
는 http_tt_ms_count
은 - 시간 proemetheus 내 통계 시계열이 촬영됩니다.

api_path - 내 레이블 이름

않습니다 query_result은 다음과 같이 세 튜플 값을 제공 할 것입니다.

{api_path="/search/query"} 25704195 1507641522000 

만 API를 이름을 얻을 쿼리 경로에 정규식 필드를 사용했다.

*api_path="(.*)".* 
이 먼 길처럼 보인다

하지만

label_values((topk(10, sort_desc(sum(http_tt_ms_count) by (api_path)))), api_path) 

이 경로로 가라고했다 grafana에서 작동하지 않습니다.