기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Prometheus 데이터 소스 사용
Prometheus 설정
명칭 | 설명 |
---|---|
Name
|
데이터 소스 이름. 패널 및 쿼리에서 데이터 소스를 보는 방법입니다. |
Default
|
기본 데이터 소스는 새 패널에 대해 미리 선택됨을 의미합니다. |
Url
|
Prometheus 서버의 URL(예: https://prometheus.example.org:9090 ). |
Access
|
서버(기본값) = Grafana 백엔드/서버에서 URL에 액세스할 수 있어야 합니다. |
Basic Auth
|
Prometheus 데이터 소스에 대한 기본 인증을 활성화합니다. |
User
|
기본 인증을 위한 사용자 이름. |
Password
|
기본 인증을 위한 암호. |
Scrape interval
|
이를 Prometheus에 구성된 일반적인 스크레이프 및 평가 간격으로 설정합니다. 기본값은 15s(15초)입니다. |
Disable metrics lookup
|
이 옵션을 선택하면 쿼리 필드의 자동 완성에서 지표 선택기 및 지표/레이블 지원이 비활성화됩니다. 그러면 더 큰 Prometheus 인스턴스에 성능 문제가 있는 경우 도움이 됩니다. |
Custom Query Parameters
|
Prometheus 쿼리 URL에 사용자 지정 파라미터를 추가합니다. 예: timeout , partial_response , dedup 또는 max_source_resolution . 여러 파라미터를 '&' 기호로 함께 연결해야 합니다. |
Prometheus 쿼리 편집기
다음 섹션에서는 대시보드 및 탐색에서 Prometheus 쿼리 편집기에 대한 정보와 옵션을 제공합니다.
대시보드의 쿼리 편집기
제목을 선택한 다음, 편집을 선택하거나 패널에서 일시 중지한 동안 e 키를 눌러서 편집 모드에서 그래프를 엽니다.
명칭 | 설명 |
---|---|
Query expression
|
Prometheus 쿼리 표현식에 대한 자세한 내용은 Prometheus 설명서 |
Legend format
|
이름 또는 패턴을 사용하여 시계열의 이름을 제어합니다. 예를 들어 {{hostname}} 은 hostname 레이블의 레이블 값으로 대체됩니다. |
Min step
|
Prometheus 범위 쿼리의 step 파라미터$__interval 및 $__rate_interval 변수의 추가 하한 값. 제한에서는 절댓값을 사용하며 해상도 설정에 의해 수정되지 않습니다. |
Resolution
|
1/1 에서는 각 픽셀이 하나의 데이터 포인트에 대응하도록 Prometheus 범위 쿼리의 step 파라미터$__interval 변수를 모두 설정합니다. 더 나은 성능을 위해 더 낮은 해상도를 사용합니다. 1/2 에서는 모두 다른 픽셀에 대해서만 데이터 포인트를 검색하고 1/10 에서는 10픽셀당 하나의 데이터 포인트를 검색합니다. 최소 시간 간격 및 최소 단계 모두 $__interval 및 step 의 최종 값을 제한합니다. |
Metric lookup
|
이 입력 필드에서 지표 이름을 검색합니다. |
Format as
|
Table , Time
series 또는 Heatmap 사이를 전환합니다. Table 은 테이블 패널에서만 작동합니다. Heatmap 은 히트맵 패널에서 히스토그램 유형의 지표를 표시하는 데 적합합니다. 누적 히스토그램을 일반 히스토그램으로 변환하고 버킷 바인딩을 기준으로 시리즈를 정렬합니다. |
Instant
|
요청된 시계열에 대해 Prometheus에서 스크레이핑한 최신 값만 반환하려면 '인스턴트' 쿼리를 수행합니다. 인스턴트 쿼리는 정상 범위 쿼리보다 훨씬 빠르게 결과를 반환합니다. 이를 사용하여 레이블 세트를 조회합니다. |
Min time interval
|
이 값에 해상도 설정의 분모를 곱하면 Prometheus 범위 쿼리의 step 파라미터$__interval 변수 모두에 하한이 설정됩니다. 데이터 소스 옵션에 설정된 스크레이프 간격을 기본값으로 사용합니다. |
참고
Amazon Managed Grafana에서는 동적으로 계산된 단계에 맞게 쿼리에 대한 요청 날짜를 수정합니다. 그러면 지표 데이터를 일관되게 표시할 수 있지만 그래프의 오른쪽 엣지에 약간의 데이터 갭이 생길 수 있습니다.
대시보드에서의 인스턴트 쿼리
Prometheus 데이터 소스를 사용하면 최신 값만 쿼리하는 인스턴트 쿼리를 실행할 수 있습니다. 테이블 패널에서 결과를 시각화하여 시계열의 사용 가능한 모든 레이블을 볼 수 있습니다.
인스턴트 쿼리 결과는 시리즈당 하나의 데이터 포인트로만 구성됩니다. 시리즈 재정의를 사용하여 그래프 패널에 표시할 수 있습니다. 그래프에 최신 값 포인트로 표시하려면 시리즈 재정의를 추가하고 Points > true
를 선택합니다. 전체 그래프에서 가로선을 표시하려면 시리즈 재정의를 추가하고 Transform > constant
를 선택합니다. 시리즈 재정의에 대한 자세한 내용은 시리즈 재정의 섹션을 참조하세요.
탐색의 쿼리 편집기
명칭 | 설명 |
---|---|
Query expression
|
Prometheus 쿼리 표현식에 대한 자세한 내용은 Prometheus 설명서 |
Step
|
Prometheus 범위 쿼리의 Step 파라미터s (초)입니다. |
Query type
|
Range , Instant , 또는 Both . 범위 쿼리를 실행하는 경우 쿼리 결과는 그래프 및 테이블에 표시됩니다. 인스턴트 쿼리는 요청된 시계열에 대해 Prometheus에서 스크레이핑한 최신 값만 반환하고 이는 테이블에 표시됩니다. 둘 다를 선택하면 인스턴트 쿼리와 범위 쿼리가 모두 실행됩니다. 범위 쿼리 결과는 그래프로 표시되고 인스턴트 쿼리 결과는 테이블에 표시됩니다. |
지표 브라우저
지표 브라우저를 사용하면 지표를 빠르게 찾고 관련 레이블을 선택하여 기본 쿼리를 빌드할 수 있습니다. 브라우저를 열면 사용 가능한 모든 지표와 레이블이 표시됩니다. Prometheus 인스턴스에서 지원하는 경우 각 지표는 툴팁에 해당 도움말 및 유형을 표시합니다.
지표를 선택하면 브라우저에서 사용 가능한 레이블 범위를 좁혀 지표에 적용되는 레이블만 표시합니다. 그런 다음, 사용 가능한 레이블 값이 하단 섹션의 목록에 표시되는 레이블을 하나 이상 선택할 수 있습니다. 각 레이블에 대해 하나 이상의 값을 선택하여 쿼리 범위를 좁힙니다.
참고
시작할 지표 이름이 기억나지 않는 경우 먼저 몇 개의 레이블을 선택하여 목록 범위를 좁힌 다음, 관련 레이블 값을 찾을 수도 있습니다.
지표 브라우저의 모든 목록에는 위에 검색 필드가 있습니다. 이를 통해 특정 문자열과 일치하는 지표 또는 레이블을 빠르게 필터링할 수 있는 검색 필드가 있습니다. 값 섹션에는 하나의 검색 필드만 있습니다. 선택한 후에 여러 레이블에서 값을 찾는 데 도움이 되도록 모든 레이블에 해당 필터링이 적용됩니다. 예를 들어 레이블 앱, 작업, job_name 중에서 하나에만 찾으려는 값이 포함될 수 있습니다.
쿼리에 만족하면 '쿼리 사용'을 클릭하여 쿼리를 실행합니다. 비율 쿼리로 사용 버튼은 쿼리 주위에 rate(...)[$__interval]을 추가하여 카운터 지표에 대한 쿼리를 작성하는 데 도움이 됩니다. '선택기 검증' 버튼은 Prometheus에서 해당 선택기에 사용할 수 있는 시계열 수를 확인합니다.
제한 사항
지표 브라우저에는 10,000개의 레이블(키) 및 50,000개의 레이블 값(지표 이름 포함)과 같은 하드 제한이 있습니다. Prometheus 인스턴스가 더 많은 결과를 반환해도 브라우저는 계속 작동합니다. 그러나 결과 세트는 이러한 최대 제한을 초과하여 잘립니다.
템플릿 지정
지표 쿼리에서 서버, 애플리케이션 및 센서 이름과 같은 사물을 하드코딩하는 대신 해당 위치에서 변수를 사용할 수 있습니다. 변수는 대시보드 상단에서 드롭다운 선택 상자로 표시됩니다. 이러한 드롭다운 상자를 사용하여 대시보드에 표시되는 데이터를 변경할 수 있습니다.
템플릿 지정 및 템플릿 변수에 대한 자세한 내용은 템플릿 및 변수 섹션을 참조하세요.
쿼리 변수
쿼리 유형의 변수를 사용하면 Prometheus에서 지표, 레이블 또는 레이블 값 목록을 쿼리할 수 있습니다. Prometheus 데이터 소스 플러그인은 쿼리 입력 필드에 사용할 수 있는 다음 함수를 제공합니다.
명칭 | 설명 |
---|---|
label_names()
|
레이블 이름 목록을 반환합니다. |
label_values(label)
|
모든 지표에서 label 에 대한 레이블 값 목록을 반환합니다. |
label_values(metric, label)
|
지정된 지표에서 label 에 대한 레이블 값 목록을 반환합니다. |
metrics(metric)
|
지정된 metric 정규식과 일치하는 지표 목록을 반환합니다. |
query_result(query)
|
query 에 대한 Prometheus 쿼리 결과 목록을 반환합니다. |
지표 이름, 레이블 이름 및 레이블 값에 대한 자세한 내용은 Prometheus 설명서
간격 및 범위 변수 사용
참고
$__range
, $__range_s
및 $__range_ms
에 대한 지원은 Grafana v5.3에서만 사용할 수 있습니다.
쿼리 변수에서 $__interval
, $__interval_ms
, $__range
, $__range_s
, $__range_ms
와 같은 몇 가지 전역 변수를 사용할 수 있습니다. 자세한 내용은 전역 변수 단원을 참조하십시오. label_values
함수는 쿼리를 지원하지 않으므로 변수 쿼리를 필터링해야 하는 경우 query_result
함수와 함께 사용하기 편리할 수 있습니다.
대시보드에서 시간 범위를 변경할 때 올바른 인스턴스를 가져오려면 변수의 refresh
트리거를 On Time Range Change
로 설정해야 합니다.
다음 코드 예제에서는 대시보드에 표시된 시간 범위 동안 평균 QPS를 기반으로 가장 사용량이 높은 요청 인스턴스 5개로 변수를 채우는 방법을 보여줍니다.
Query: query_result(topk(5, sum(rate(http_requests_total[$__range])) by (instance))) Regex: /"([^"]+)"/
다음 코드 예제에서는 $__range_s
를 사용하여 대시보드에 표시된 시간 범위 동안 특정 상태의 인스턴스로 변수를 채우는 방법을 보여줍니다.
Query: query_result(max_over_time(<metric>[${__range_s}s]) != <state>) Regex:
$__rate_interval
변수 사용
$__rate_interval
변수는 비율 함수에 사용하기 위해 제공됩니다. 최대($__interval
+ 스크레이프 간격, 4 * 스크레이프 간격)로 정의됩니다. 스크레이프 간격은 최소 단계 설정(AKA query_interval, PromQL 쿼리당 설정)(설정된 경우)입니다. 그렇지 않으면 Prometheus 데이터 소스에 설정된 스크레이프 간격입니다(그러나 후자는 해상도 설정에서 수정되기 때문에 패널에서 최소 간격 설정 무시).
쿼리에서 변수 사용
두 가지 구문이 있습니다.
-
$<varname>
예: rate(http_requests_total{job=~"$job"}[5m]) -
[[varname]]
예: rate(http_requests_total{job=~"[[job]]"}[5m])
왜 두 가지 방법이 있을까요? 첫 번째 구문은 읽고 쓰기가 더 쉽지만 단어 중간에 변수를 사용할 수는 없습니다. 다중 값 또는 모든 값 포함 옵션이 활성화되면 Grafana는 레이블을 일반 텍스트에서 정규식 호환 문자열로 변환합니다. 즉 =
대신 =~
를 사용해야 합니다.
주석
주석을 사용하여 그래프 위에 풍부한 이벤트 정보를 오버레이할 수 있습니다. 대시보드 메뉴 또는 주석 보기를 사용하여 주석 쿼리를 추가합니다. 자세한 내용은 주석 단원을 참조하십시오.
Prometheus는 주석을 쿼리하는 두 가지 방법을 지원합니다.
-
일반 지표 쿼리
-
보류 중 및 실행 알림에 대한 Prometheus 쿼리. 자세한 내용은 Inspecting alerts during runtime
을 참조하세요.
단계 옵션은 쿼리에서 반환되는 이벤트 수를 제한하는 데 유용합니다.