분포 값 측정항목 정보

이 문서에서는 Distribution 값 유형의 측정항목 데이터를 표시하는 차트를 만들고 해석하는 방법을 설명합니다. 이러한 값 유형은 개별 측정값이 너무 많아서 수집하기 어렵지만 평균이나 백분위수와 같은 통계 정보가 유용한 경우에 사용됩니다. 예를 들어 애플리케이션에 HTTP 트래픽이 사용되는 경우 HTTP 요청이 완료되는 속도를 평가하기 위해 HTTP 응답 지연 시간을 캡처하는 분포 값 측정항목을 사용할 수 있습니다.

히스토그램 생성 방법을 이해하기 위해서는 요청의 HTTP 지연 시간을 측정하고 분포 값 유형에 측정항목을 사용하여 이 데이터를 보고하는 서비스가 있다고 가정해보세요. 데이터는 1분 간격으로 보고됩니다. 이 서비스는 버킷이라고 부르는 측정항목 값 범위를 정의하고 각 버킷에 포함되는 측정된 값의 개수를 기록합니다. 예를 들어 HTTP 요청이 완료되면 요청의 지연 시간 값을 포함하는 버킷 수가 증가합니다. 이러한 개수는 해당 기간(분) 동안 값의 히스토그램을 만듭니다.

1분 기간 동안 측정되는 지연 시간이 5, 1, 3, 5, 6, 10, 14라고 가정합니다. 버킷이 [0, 4), [4, 8), [8, 12), [12, 16)이면 이 데이터의 히스토그램은 [2, 3, 1, 1]입니다. 다음 표에서는 개별 측정이 각 버킷에 대한 개수에 미치는 영향을 보여줍니다.

버킷 지연 시간 측정값 버킷에 있는 값의 수
[12,16) 14 1
[8,12) 10 1
[4,8) 5, 5, 6 3
[0,4) 1, 3 2

이 데이터가 시계열에 기록될 때 Point 객체가 생성됩니다. 분포 값이 있는 측정항목의 경우 해당 객체에 값의 히스토그램이 포함됩니다. 이 샘플링 기간 동안 Point에는 [2, 3, 1, 1]이 포함됩니다. 개별 측정항목은 시계열에 기록되지 않습니다.

이전 테이블이 1:00에 측정된 지연 시간 데이터에 대한 히스토그램을 기록한다고 가정해 보겠습니다. 이 표에서는 일련의 측정을 통해 버킷 수로 변환하는 방법을 보여줍니다. 1:01, 1:02, 1:03 시점의 버킷 수가 다음 테이블과 같다고 가정해 보겠습니다.

버킷 1:00에 대한
히스토그램
1:01에 대한
히스토그램
1:02에 대한
히스토그램
1:03에 대한
히스토그램
[12,16) 1 6 0 1
[8,12) 1 0 2 2
[4,8) 3 1 1 8
[0,4) 2 6 10 3

이전 표에는 시간별로 색인이 생성된 히스토그램 시퀀스가 표시됩니다. 표의 각 열은 1분 동안의 지연 시간 데이터를 나타냅니다. 특정 시간의 측정 수를 확인하려면 버킷 수를 합산합니다. 그러나 실제 측정은 분포 값 측정항목에서 사용할 수 없으므로 표시되지 않습니다.

히트맵 차트

히트맵 차트는 분포 값과 함께 단일 시계열을 표시하도록 설계되었습니다. 이러한 차트에서 X축은 시간을 나타내고 Y축은 버킷을 나타내고, 색상은 값을 나타냅니다. 색상이 밝을수록 더 높은 값을 나타냅니다. 예를 들어 히트맵의 어두운 부분은 노란색 또는 흰색 부분보다 낮은 버킷 수를 나타냅니다.

다음 그림은 히트맵으로 표현된 이전 예시를 보여줍니다.

히트맵 차트 예시

이전 그림에서 히트맵은 검은색을 사용해서 가장 작은 버킷 수 0을 나타내고, 노란색을 사용해서 가장 많은 버킷 수 10을 나타냅니다. 빨간색과 주황색은 두 극단 사이의 값을 나타냅니다.

히트맵 차트가 시계열을 하나만 표시할 수 있기 때문에 모든 시계열을 조합하도록 집계 옵션을 설정해야 합니다.

측정항목 탐색기를 사용하여 VM 인스턴스의 RTT 지연 시간 합계를 표시하려면 다음을 수행합니다.
  1. Google Cloud 콘솔의 탐색 패널에서 Monitoring을 선택한 후 측정항목 탐색기를 선택합니다.

    측정항목 탐색기로 이동

  2. 측정항목 요소에서 측정항목 선택 메뉴를 펼치고 필터 표시줄에 RTT latencies을 입력한 후 하위 메뉴를 사용하여 특정 리소스 유형과 측정항목을 선택합니다.
    1. 활성 리소스 메뉴에서 VM 인스턴스를 선택합니다.
    2. 활성 측정항목 카테고리 메뉴에서 Vm-flow를 선택합니다.
    3. 활성 측정항목 메뉴에서 RTT 지연 시간을 선택합니다.
    4. 적용을 클릭합니다.

이전 예시에서 히트맵 차트는 메뉴에서 값을 선택하여 구성되었습니다. 그러나 모니터링 쿼리 언어(MQL)를 사용하여 분포 값 측정항목을 차트로 표시할 수도 있습니다. MQL 쿼리를 입력하려면 다음을 수행합니다.

  1. 쿼리 빌더 창의 툴바에서 이름이  MQL 또는  PromQL인 버튼을 선택합니다.
  2. 언어 전환 버튼에 MQL이 선택되어 있는지 확인합니다. 언어 전환 버튼은 쿼리 형식을 지정할 수 있는 동일한 툴바에 있습니다.
  3. 쿼리를 입력한 후 실행합니다.

예를 들어 코드 편집기에 다음을 입력합니다.

fetch gce_instance
| metric 'networking.googleapis.com/vm_flow/rtt'
| align delta(1m)
| every 1m
| group_by [], [aggregate(value.rtt)]

앞의 표현식에서는 시계열 데이터를 가져오고 정렬한 후 그룹화합니다. 정렬 프로세스는 정렬 기간이 1분인 delta 정렬 함수를 사용합니다. group_by의 첫 번째 인수는 []이므로 모든 시계열이 결합됩니다. 두 번째 인수인 [aggregate(value.rtt)]는 시계열의 결합 방법을 정의합니다. 이 예시에서는 각 타임스탬프에 서로 다른 시계열의 rtt 필드 값이 MQL에서 선택된 aggregate 함수와 결합됩니다.

메뉴를 사용하여 측정항목을 선택한 후 MQL로 전환하면 선택 항목이 엄격한 형식의 MQL 쿼리로 변환됩니다.

fetch gce_instance
| metric 'networking.googleapis.com/vm_flow/rtt'
| align delta(1m)
| every 1m
| group_by [], [value_rtt_aggregate: aggregate(value.rtt)]

이전 표현식은 원래 MQL 예시와 기능적으로 동일합니다.

MQL에 대한 자세한 내용은 모니터링 쿼리 언어 개요를 참조하세요.

선 및 막대 그래프

스칼라 데이터를 표시하도록 설계된 선 차트, 스택 막대 차트, 스택 선 차트는 분포 값을 표시할 수 없습니다. 이러한 차트 유형 중 하나를 사용해서 분포 값과 함께 측정항목을 표시하려면 히스토그램 값을 스칼라 값으로 변환해야 합니다. 예를 들어 집계 옵션을 설정하여 히스토그램 값의 평균을 계산하거나 백분위수를 계산할 수 있습니다.

선 차트에 분포 값 측정항목을 표시하는 방법은 다음 섹션을 참조하세요.

집계 및 분포 측정항목

집계는 시계열 내에서 포인트를 정규화하고 여러 시계열을 조합하는 프로세스입니다. 집계는 Integer 또는 Double 값 유형을 갖는 측정항목에서와 같이 분포 유형 측정항목에 대해 동일합니다. 하지만 차트 유형은 시계열 조정 및 그룹화에 사용되는 선택 항목에 몇 가지 요구사항을 강제 적용합니다.

히트맵 차트

히트맵 차트는 하나의 분포 값 시계열을 표시합니다. 따라서 단일 시계열을 만들려면 정렬 함수그룹화 함수를 설정해야 합니다.

차트에 히트맵이 표시될 때 sum 또는 delta 정렬 함수를 선택합니다. 이러한 함수는 버킷 수준에서 단일 시계열에 대해 동일한 정렬 기간에 있는 모든 샘플을 조합합니다. 결과는 분포 값입니다. 예를 들어 시계열의 인접한 샘플 2개가 [2, 3, 1, 1] 및 [2, 5, 4, 1]이면 sum 정렬 함수에서 [4, 8, 5, 2]를 생성합니다.

그룹화 함수는 여러 시계열이 조합되는 방법을 정의합니다. 일부 경우에는 이 함수를 애그리게이터 또는 감소기라고 부릅니다. 히트맵의 경우 그룹화 함수를 sum 함수로 설정합니다. 합계 함수는 모든 히스토그램 간에 동일한 버킷 값을 추가하여 새 히스토그램을 생성합니다. 예를 들어 시계열 A의 [2, 3, 1, 1] 값과 시계열 B의 [1, 5, 2, 2] 값의 합계는 [3, 8, 3, 3]입니다.

선 차트

선 차트는 스칼라 값 시계열만 표시합니다. 분포 값 측정항목을 선택하면 히트맵을 표시하는 데 최적의 매개변수를 사용해서 차트가 구성됩니다. 집계 요소의 필드는 분포없음으로 설정됩니다.

  • 분포 해석은 특정 측정항목에 따라 달라집니다. GAUGE 측정항목 종류를 포함하는 분포 값 측정항목의 경우 기본 정렬 함수가 sum으로 설정됩니다. 분포 값 측정항목 유형에 CUMULATIVE 측정항목 종류가 포함된 경우 기본 정렬 함수는 DELTA입니다.

  • 없음으로 설정하면 모든 시간이 조합됩니다.

선 차트에 분포 값 측정항목을 표시하려면 차트에 대해 기본 설정을 변경해야 합니다. 예를 들어 분포 값 측정항목에 대해 모든 시계열의 99번째 백분위수를 표시하도록 대시보드에서 선 차트를 구성하려면 다음을 수행합니다.

  1. Google Cloud 콘솔의 탐색 패널에서 Monitoring을 선택한 후 대시보드를 선택합니다.

    대시보드로 이동

  2. 툴바에서 위젯 추가를 클릭합니다.
  3. 위젯 추가 대화상자에서 측정항목을 선택합니다.
  4. 측정항목 요소에서 VM 인스턴스 - RTT 지연 시간 측정항목을 선택합니다.
  5. 집계 요소에서 첫 번째 메뉴를 확장하고 99번째 백분위수를 선택합니다.
  6. 표시 창에서 위젯 유형 메뉴 값을 선 차트로 설정합니다.
  7. 선택사항: 집계 요소에서 두 번째 메뉴를 확장하고 시계열 그룹화에 사용되는 라벨을 선택합니다. 기본적으로 라벨이 선택되지 않았으므로 차트에 하나의 줄이 표시됩니다.

다음 단계

측정항목의 버킷 모델을 결정하고 백분위수를 해석하는 방법은 백분위수 및 분포 값 측정항목을 참조하세요.