분산 측정항목

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

이 문서에서는 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. 측정항목 탐색기로 이동

  3. 툴바에서 탐색기 탭을 선택합니다.
  4. 구성 탭을 선택합니다.
  5. 측정항목 선택 메뉴를 확장하고 필터 표시줄에 RTT Latencies을 입력한 후 하위 메뉴를 사용하여 특정 리소스 유형과 측정항목을 선택합니다.
    1. 활성 리소스 메뉴에서 VM 인스턴스를 선택합니다.
    2. 활성 측정항목 카테고리 메뉴에서 Vm-flow를 선택합니다.
    3. 활성 측정항목 메뉴에서 RTT 지연 시간을 선택합니다.
    4. 적용을 클릭합니다.
  6. 측정항목 탐색기 툴바에서 선 차트를 클릭한 후 히트맵을 선택합니다.
  7. 구성 창을 사용하여 시계열을 단일 시계열로 조합합니다.
    • 그룹화 기준 필드가 비어 있는지 확인하세요.
    • 애그리게이터합계를 선택합니다.

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

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에 대한 자세한 내용은 모니터링 쿼리 언어 소개를 참조하세요.

선 및 막대 그래프

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

예를 들어 다음 표의 각 행에는 타임스탬프, 히스토그램, 히스토그램 값 합계가 포함됩니다.

시간 히스토그램 히스토그램 값의 합계
1:00 [2, 3, 1, 1] 7
1:01 [6, 1, 0, 6] 13
1:02 [10, 1, 2, 0] 13
1:03 [3, 8, 2, 1] 14

이전 표에서는 히스토그램 값의 합계를 X-Y 플롯으로 표시할 수 있습니다.

HTTP 지연 시간 정보를 저장하는 측정항목의 경우 합계는 완료된 HTTP 요청 수를 간접적으로 나타내기 때문에 의미 있는 측정 단위입니다. 이전 표의 데이터는 HTTP 요청 완료 비율이 낮지만 비교적 일정한 것을 보여줍니다.

선 차트 예시.

선 차트는 스칼라 값이 있는 시계열만 표시합니다. 분포 값 측정항목을 선 차트로 표시하려면 집계 필드를 사용하여 분포 값을 스칼라 값으로 변환합니다. 예를 들어 측정항목 탐색기를 사용하여 분포 값 측정항목의 99번째 백분위수를 표시하려면 다음을 수행합니다.

  1. Google Cloud Console에서 Monitoring을 선택하거나 다음 버튼을 클릭합니다.
    Monitoring으로 이동
  2. 탐색창에서 측정항목 탐색기를 선택합니다.
  3. 분포 값 측정항목 및 리소스를 선택합니다. 예를 들어 RTT 지연 시간 측정항목과 VM 인스턴스 리소스를 선택합니다.
  4. 측정항목 탐색기 툴바에 선 차트 가 표시되는지 확인합니다.
  5. 구성 창에서 애그리게이터에 대해 99번째 백분위수를 선택합니다.

집계 및 분포 측정항목

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

히트맵 차트

히트맵 차트는 하나의 분포 값 시계열을 표시합니다. 여러 시계열이 있으면 정렬기그룹화 함수를 사용하여 단일 시계열을 만들어야 합니다.

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

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

선 차트

선 차트는 스칼라 값 시계열만 표시합니다. 선 차트에 분포 값 측정항목을 표시하려면 정렬기 또는 그룹화 함수를 사용하여 분포 값을 스칼라 값으로 변환합니다.

  • 백분위수 정렬기는 분포 값을 스칼라 값으로 변환합니다. 이러한 정렬기를 사용할 때 시계열 그룹화는 선택사항입니다.

  • 합계 및 델타 정렬기는 분포 값을 스칼라 값으로 변환하지 않습니다. 이러한 정렬기를 사용할 때는 분포 값을 스칼라 값으로 변환하는 그룹화 함수를 선택합니다.

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

  1. Google Cloud Console에서 Monitoring을 선택하거나 다음 버튼을 클릭합니다.
    Monitoring으로 이동
  2. 탐색창에서 대시보드를 선택한 후 보거나 수정할 대시보드를 선택합니다.
  3. 대시보드 수정 버튼이 표시되었으면 이를 클릭합니다.
  4. 차트 라이브러리에서 선 차트 위젯을 선택하여 대시보드에 선 차트를 추가합니다.
  5. 특정 리소스의 분포 값 측정항목을 표시하도록 선 차트 구성을 수정합니다. 예를 들어 RTT 지연 시간 측정항목과 VM 인스턴스 리소스를 선택합니다.
  6. 백분위수 정렬기를 사용하도록 차트를 구성합니다.

    • 기본 탭: 그룹화를 지우고 99번째 백분위수를 선택합니다.
    • 고급 탭: 사전 처리 단계에서 백분위수를 선택하고 메뉴를 사용하여 99번째 백분위수를 선택합니다. 또한 그룹화 기준 필드가 비어 있고 그룹화 기준 함수가 none으로 설정되었는지 확인합니다.

결과 차트에 시계열마다 하나씩 여러 개의 선을 표시할 수 있습니다.

또 다른 예시로, 분포 값 측정항목에 대해 시계열의 99번째 백분위수인 단일 시계열을 표시한다고 가정해보세요. 이 차트를 구성하기 위해서는 이전 시퀀스에서 마지막 단계를 합계 정렬기를 지정하고 그룹화 함수를 설정하는 다음 단계들로 바꿉니다.

  1. 고급 탭을 선택합니다.
  2. 사전 처리 단계에서 사전 처리 단계 없음을 선택합니다.
  3. 정렬 함수합계로 설정합니다.
  4. 그룹화 기준 필드가 비어 있는지 확인하고 그룹화 기준 함수99번째 백분위수로 설정합니다.

결과 차트에 하나의 선이 표시됩니다.

다음 단계

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