프로메테우스 데이터 소스 사용 - Amazon Managed Grafana

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

프로메테우스 데이터 소스 사용

프로메테우스 설정

명칭 설명
Name 데이터 소스 이름. 패널 및 쿼리에서 데이터 소스를 보는 방법은 다음과 같습니다.
Default 기본 데이터 소스는 새 패널에 사용할 데이터 소스가 미리 선택된다는 의미입니다.
Url 프로메테우스 서버의 URL (예:). https://prometheus.example.org:9090
Access 서버 (기본값) = Grafana 백엔드/서버에서 URL에 액세스할 수 있어야 합니다.
Basic Auth Prometheus 데이터 소스에 대한 기본 인증을 활성화합니다.
User 기본 인증을 위한 사용자 이름.
Password 기본 인증을 위한 비밀번호입니다.
Scrape interval 이 간격을 Prometheus에 구성된 일반적인 스크랩 및 평가 간격으로 설정합니다. 기본값은 15초입니다.
Disable metrics lookup 이 옵션을 선택하면 쿼리 필드의 자동 완성에서 메트릭 선택기 및 메트릭/레이블 지원이 비활성화됩니다. 이는 대규모 Prometheus 인스턴스에서 성능 문제가 발생하는 경우에 도움이 됩니다.
Custom Query Parameters Prometheus 쿼리 URL에 커스텀 파라미터를 추가합니다. 예: timeoutpartial_response, dedup 또는. max_source_resolution 여러 매개변수는 “&”와 함께 연결해야 합니다.

프로메테우스 쿼리 에디터

다음 섹션에서는 대시보드 및 Explore의 Prometheus 쿼리 편집기에 대한 정보와 옵션을 제공합니다.

대시보드의 쿼리 편집기

제목을 선택한 다음 편집을 선택하거나 패널에서 일시 중지한 상태에서 e 키를 눌러 편집 모드에서 그래프를 엽니다.

명칭 설명
Query expression Prometheus 쿼리 표현식에 대한 자세한 내용은 Prometheus 설명서를 참조하십시오.
Legend format 이름 또는 패턴을 사용하여 시계열 이름을 제어합니다. 예를 들어 {{hostname}} 는 레이블의 레이블 값으로 바뀝니다hostname.
Min step Prometheus 범위 쿼리의 step 파라미터 및 및 변수에 대한 추가 하한입니다. $__interval $__rate_interval 제한은 절대적이며 해상도 설정으로 수정되지 않습니다.
Resolution 1/1각 픽셀이 하나의 데이터 포인트에 대응하도록 Prometheus 범위 쿼리의 $__interval 변수와 step 매개변수를 모두 설정합니다. 성능을 높이려면 더 낮은 해상도를 사용하십시오. 1/2다른 모든 픽셀에 대한 데이터 포인트만 검색하고 10픽셀당 하나의 데이터 포인트를 1/10 검색합니다. 단, 최소 시간 간격과 최소 스텝 모두 및 의 $__interval 최종 값을 제한한다는 점에 유의하십시오. step
Metric lookup 이 입력 필드에서 지표 이름을 검색하십시오.
Format as TableTime series, 또는 사이를 Heatmap 전환하십시오. Table테이블 패널에서만 작동합니다. Heatmap히스토그램 유형의 메트릭을 히트맵 패널에 표시하는 데 적합합니다. 누적 히스토그램을 일반 히스토그램으로 변환하고 버킷 경계를 기준으로 시리즈를 정렬합니다.
Instant Prometheus가 요청된 시계열에 대해 스크랩한 최신 값만 반환하려면 “인스턴트” 쿼리를 수행합니다. 인스턴트 쿼리는 정상 범위 쿼리보다 훨씬 빠르게 결과를 반환합니다. 이를 사용하여 레이블 세트를 조회할 수 있습니다.
Min time interval 이 값에 해상도 설정의 분모를 곱하면 Prometheus 범위 step 쿼리의 $__interval 변수와 매개변수 모두에 하한이 설정됩니다. 데이터 소스 옵션에 설정된 스크래핑 간격이 기본값입니다.
참고

Amazon Managed Grafana는 동적으로 계산된 단계에 맞춰 쿼리 요청 날짜를 수정합니다. 이렇게 하면 지표 데이터가 일관되게 표시되지만 그래프 오른쪽 가장자리에 작은 데이터 간격이 생길 수 있습니다.

대시보드의 인스턴트 쿼리

Prometheus 데이터 소스를 사용하면 최신 값만 쿼리하는 인스턴트 쿼리를 실행할 수 있습니다. 결과를 테이블 패널에 시각화하여 사용 가능한 시계열의 모든 레이블을 볼 수 있습니다.

인스턴트 쿼리 결과는 시리즈당 단 하나의 데이터 포인트로만 구성됩니다. 시리즈 오버라이드를 통해 그래프 패널에 표시할 수 있습니다. 그래프에 최신 값 포인트로 표시하려면 시리즈 오버라이드를 추가하고 선택하십시오. Points > true 전체 그래프에 수평선을 표시하려면 계열 재정의를 추가하고 계열 재정의를 선택하고 계열 재정의에 Transform > constant 대한 자세한 내용은 을 참조하십시오. 시리즈 오버라이드

Explore의 쿼리 편집기

명칭 설명
Query expression Prometheus 쿼리 표현식에 대한 자세한 내용은 Prometheus 설명서를 참조하십시오.
Step StepPrometheus 범위 쿼리의 파라미터 여기서는 시간 단위를 사용할 수 있습니다 (예: 5s, 1m, 3h, 1d, 1년). 지정된 단위가 없는 경우의 기본 단위는 (초) 입니다. s
Query type Range, Instant, 또는 Both. 범위 쿼리를 실행하면 쿼리 결과가 그래프와 표로 표시됩니다. 인스턴트 쿼리는 Prometheus가 요청된 시계열에 대해 스크랩한 최신 값만 반환하며 테이블에 표시됩니다. 둘 다 선택하면 인스턴트 쿼리와 범위 쿼리가 모두 실행됩니다. 범위 쿼리 결과는 그래프로 표시되고 인스턴트 쿼리 결과는 테이블에 표시됩니다.

메트릭 브라우저

메트릭 브라우저를 사용하면 지표를 빠르게 찾고 관련 레이블을 선택하여 기본 쿼리를 작성할 수 있습니다. 브라우저를 열면 사용 가능한 모든 지표와 레이블이 표시됩니다. Prometheus 인스턴스에서 지원하는 경우 각 지표에는 HELP와 TYPE이 툴팁으로 표시됩니다.

지표를 선택하면 브라우저가 사용 가능한 레이블의 범위를 좁혀 해당 지표에 해당하는 레이블만 표시합니다. 그런 다음 하단 섹션의 목록에 사용 가능한 레이블 값이 표시된 레이블을 하나 이상 선택할 수 있습니다. 각 레이블에 대해 하나 이상의 값을 선택하여 쿼리 범위를 좁히십시오.

참고

처음에 사용할 지표 이름이 기억나지 않는 경우 먼저 몇 개의 레이블을 선택하여 목록의 범위를 좁힌 다음 관련 레이블 값을 찾을 수도 있습니다.

메트릭 브라우저의 모든 목록 위에는 특정 문자열과 일치하는 메트릭이나 레이블을 빠르게 필터링할 수 있는 검색 필드가 있습니다. 값 섹션에는 검색 필드가 하나뿐입니다. 필터링은 모든 레이블에 적용되므로 레이블이 선택되면 레이블에서 값을 쉽게 찾을 수 있습니다. 예를 들어 앱, 작업, job_name 레이블 중에서 원하는 값이 하나뿐일 수 있습니다.

쿼리에 만족하면 “쿼리 사용”을 클릭하여 쿼리를 실행하십시오. 요금 쿼리로 사용 버튼을 누르면 요금이 추가됩니다 (...) 쿼리 주변에 [$__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) 에 대한 Prometheus 쿼리 결과 목록을 반환합니다. query

메트릭 이름, 레이블 이름 및 레이블 값에 대한 자세한 내용은 Prometheus 설명서를 참조하십시오.

간격 및 범위 변수 사용

참고

$__range$__range_s, 및 에 대한 지원은 $__range_ms Grafana v5.3에서만 사용할 수 있습니다.

쿼리 변수에는 일부 글로벌 변수 ($__interval,,$__interval_ms, $__range 및) 를 사용할 수 있습니다. $__range_s $__range_ms 자세한 정보는 전역 변수을 참조하세요. 이 query_result 함수는 쿼리를 지원하지 않으므로 변수 쿼리를 필터링해야 하는 경우 이 label_values 함수와 함께 사용하면 편리할 수 있습니다.

대시보드에서 시간 범위를 변경할 때 올바른 인스턴스를 가져오려면 변수의 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변수는 rate 함수에 사용하기 위한 것입니다. 최대 ($__interval+ 스크랩 간격, 4* 스크랩 간격) 로 정의됩니다. 스크랩 간격은 최소 단계 설정 (일명 query_interval, PromQL 쿼리별 설정) 이며, 그렇지 않으면 Prometheus 데이터 소스에 설정된 스크랩 간격입니다. 단, 패널의 최소 간격 설정은 해상도 설정에 의해 수정되므로 무시합니다.

쿼리에 변수 사용

두 가지 구문이 있습니다.

  • $<varname>예: 요금 (http_requests_total {job=~"$job "} [5m])

  • [[varname]]예: 요금 (http_requests_total {job=~ "[[job]]"} [5m])

왜 두 가지 방법일까요? 첫 번째 구문은 읽고 쓰기는 더 쉽지만 단어 중간에 변수를 사용할 수는 없습니다. 다중 값 또는 모든 값 포함 옵션이 활성화되면 Grafana는 레이블을 일반 텍스트에서 정규식 호환 문자열로 변환합니다. 즉, 대신 사용해야 합니다. =~ =

주석

주석을 사용하여 그래프 위에 풍부한 이벤트 정보를 오버레이할 수 있습니다. 대시보드 메뉴 또는 주석 보기를 사용하여 주석 쿼리를 추가합니다. 자세한 정보는 주석을 참조하세요.

Prometheus는 주석을 쿼리하는 두 가지 방법을 지원합니다.

  • 일반 메트릭 쿼리

  • 보류 중인 알림과 실행 중인 경보에 대한 Prometheus 쿼리입니다. 자세한 내용은 런타임 중 알림 검사를 참조하십시오.

step 옵션은 쿼리에서 반환되는 이벤트 수를 제한하는 데 유용합니다.