필터링 및 집계: 시계열 조작

이 페이지에서는 시계열 데이터를 조작할 때 사용하는 기법을 설명합니다. 이 콘텐츠는 측정항목, 시계열, 리소스의 개념과 설명에 기반하고 있습니다.

원시 시계열 데이터를 분석하려면 조작되어야 합니다. 분석에는 일부 데이터를 필터링하여 제외하고 일부 데이터를 함께 집계해야 하는 경우가 많습니다. 이 페이지에서는 원시 데이터를 조정하는 두 가지 기본 기법을 설명합니다.

  • 필터링: 일부 데이터가 고려 대상에서 삭제됩니다.
  • 집계: 지정한 측정 기준에 따라 여러 데이터 조각을 더 작은 집합으로 결합합니다.

필터링 및 집계는 흥미로운 패턴을 식별하고 데이터의 추세 또는 이상점을 강조하는 데 도움이 되는 강력한 도구입니다.

이 페이지에서는 필터링 및 집계의 개념을 설명합니다. 직접 적용하는 방법에 대해서는 다루지 않습니다. 시계열 데이터에 필터링 또는 집계를 적용하려면 Cloud Monitoring API 또는 Google Cloud 콘솔의 차트 및 알림 도구를 사용합니다. 예를 들어 API 샘플 정책Monitoring 쿼리 언어 예시를 참조하세요.

원시 시계열 데이터

단일 시계열의 원시 측정항목 데이터 양은 매우 클 수 있으며 일반적으로 측정항목 유형과 연관된 시계열이 많이 있습니다. 공통점, 추세, 이상점의 전체 데이터 세트를 분석하려면 세트의 시계열에서 몇 가지 처리를 수행해야 합니다. 그렇지 않으면 고려할 데이터가 너무 많습니다.

필터링 및 집계를 소개하기 위해 이 페이지의 예시에서는 소수의 가상 시계열을 사용합니다. 예를 들어 다음 이미지는 3개의 시계열에서 몇 시간 분량의 원시 데이터를 보여줍니다.

빨간색, 파란색, 녹색의 세 가지 원시 시계열이 표시된 그래프.
그림 1: 원시 시계열 3개

각 시계열은 가상 color의 값을 반영하기 위해 빨간색, 파란색, 녹색의 색상이 지정됩니다. 라벨의 각 값에는 하나의 시계열이 있습니다. 값은 다른 시점에 기록되기 때문에 값은 깔끔하게 정렬되지 않습니다.

필터링

분석을 위한 가장 강력한 도구 중 하나인 필터링을 통해 즉시 관심이 없는 데이터를 숨길 수 있습니다.

다음을 기반으로 시계열 데이터를 필터링할 수 있습니다.

  • 시간.
  • 하나 이상의 라벨 값.

다음 이미지는 원본 원시 시계열의 빨간색 시계열에 표시되는 필터링 결과만 보여줍니다(그림 1 참조).

원시 시계열 중 하나(빨간색)를 보여주는 그래프.
그림 2: 필터링 후 원시 시계열 하나

필터링으로 선택한 이 시계열은 다음 섹션에서 정렬을 보여주기 위해 사용됩니다.

집계

보유한 데이터 양을 줄이는 또 다른 방법은 데이터를 요약하거나 집계하는 것입니다. 집계에는 두 가지 측면이 있습니다.

  • 정렬 - 단일 시계열 내에서 데이터 정규화
  • 축소 - 여러 시계열의 결합

시계열을 줄이기 전에 시계열을 정렬해야 합니다. 다음 섹션에서는 정수 값을 저장하는 시계열을 사용하여 정렬 및 축소에 대해 설명합니다. 이러한 일반 개념은 시계열에 Distribution 값 유형이 있는 경우에도 적용됩니다. 그러나 이 경우에는 몇 가지 추가 제약 조건이 있습니다. 자세한 내용은 분산 값 측정항목 정보를 참조하세요.

정렬: 계열 내 정규화

시계열 데이터를 집계하는 첫 번째 단계는 정렬입니다. 정렬은 원시 데이터가 제시간에 정규화된 새 시계열을 만들고 이는 다른 정렬된 시계열과 결합할 수 있습니다. 정렬은 정기적인 간격이 있는 데이터가 있는 시계열을 생성합니다.

정렬에는 다음 두 단계가 포함됩니다.

  1. 시계열을 데이터 버케팅이라고 부르는 일반 시간 간격으로 나눕니다. 간격은 기간(period) 또는 정렬 기간(alignment period 또는 alignment window)이라고 합니다.

  2. 정렬 기간의 포인트에 대한 단일 값을 계산합니다. 단일 포인트의 계산 방법, 즉 모든 값을 합산할지, 평균을 계산할지, 최댓값을 사용할지 선택합니다.

정렬에 의해 생성된 새 시계열은 정렬 기간 내에 단일 값을 갖는 모든 원시 시계열 값을 나타내므로 계열 내 축소 또는 계열 내 집계라고도 합니다.

시간 간격 정규화

시계열 데이터를 분석하려면 데이터 포인트를 균등한 간격으로 사용할 수 있어야 합니다. 정렬은 이를 위한 프로세스입니다.

정렬은 데이터 포인트 사이에 일정한 간격인 정렬 간격이 있는 새 시계열을 만듭니다. 일반적으로 정렬은 추가 조작을 위해 여러 시계열에 적용됩니다.

이 섹션에서는 단일 시계열에 적용하여 정렬 단계를 설명합니다. 이 예시에서는 그림 2에서 보이는 바와 같이 시계열 시간 예시로 1시간 정렬 기간이 적용되었습니다. 시계열은 3시간 동안 캡처한 데이터를 보여줍니다. 데이터 포인트를 1시간 단위로 분할하면 각 기간에 다음과 같은 포인트가 발생합니다.

기간
1:01–2:00 400, 350, 300, 200
2:01–3:00 200, 100
3:01–4:00 300, 250, 200

정렬 기간 선택

정렬 기간의 길이는 다음 두 가지 요인에 따라 결정됩니다.

  • 데이터에서 찾으려는 항목의 세부사항 또는 세밀성
  • 데이터의 샘플링 기간. 즉, 보고되는 빈도

다음 섹션에 이러한 요소가 보다 자세히 설명되어 있습니다.

또한 Cloud Monitoring은 제한된 기간의 측정항목 데이터를 유지합니다. 기간은 측정항목 유형에 따라 다릅니다. 자세한 내용은 데이터 보관을 참조하세요. 보관 기간은 가장 길고 의미 있는 정렬 기간입니다.

세부사항

문제가 발생한 시간이 몇 시간 이내인 것을 알고 있으며 이를 더 자세히 알아 보려 한다면 정렬에 한 시간 또는 분 단위를 사용하는 것이 좋을 것입니다.

장기간에 걸친 추세를 탐색하려는 경우 대규모 정렬 기간이 더 적합할 수 있습니다. 대규모 정렬 기간은 일반적으로 단기 이상 조건을 확인하는 데 유용하지 않습니다. 예를 들어 몇 주의 정렬 기간을 사용할 경우 해당 기간의 이상치가 존재해도 계속 감지될 수 있지만, 정렬 데이터가 너무 대략적으로 조정되어 너무 도움이 되지 못할 수 있습니다.

샘플링 레이트

데이터가 작성된 빈도인 샘플링 레이트도 정렬 기간 선택에 영향을 줄 수 있습니다. 기본 제공 측정항목의 샘플링 레이트는 측정항목 목록을 참조하세요. 샘플링 레이트가 분당 1 포인트인 시계열을 보여주는 다음 그림을 살펴봅시다.

샘플링 기간이 1분인 원시 데이터 그래프.

정렬 기간이 샘플링 기간과 동일한 경우 각 정렬 기간에 하나의 데이터 포인트가 있습니다. 즉, 예를 들어 max, mean, min 정렬기 중 하나를 적용하면 정렬된 시계열이 동일합니다. 다음 이미지는 결과를 희미한 줄로 나타낸 원래 시계열과 함께 보여줍니다.

샘플링 기간과 정렬 기간이 일치하는 시계열의 그래프.

정렬기 함수의 작동 방식에 대한 상세 내용은 정렬기를 참조하세요.

정렬 기간을 2분으로 설정하거나 샘플링 기간을 두 배로 설정하면 각 기간마다 두 개의 데이터 포인트가 생성됩니다. max, mean, min 정렬기가 2분 정렬 기간 내의 포인트에 적용되는 경우 생성된 시계열은 다릅니다. 다음 이미지는 이러한 결과를 희미한 줄로 나타낸 원래 시계열과 함께 보여줍니다.

샘플링 기간을 두 배로 늘렸을 때의 정렬 시계열 그래프.

정렬 기간을 선택할 때는 샘플링 기간보다 오래 걸리지만 관련 추세를 표시하기에 충분한 시간을 선택하세요. 유용한 정렬 기간을 결정하려면 실험이 필요할 수 있습니다. 예를 들어 데이터가 하루에 한 번 수집되는 속도라면 시간당 정렬 기간은 너무 짧습니다. 대부분의 경우 데이터가 하나도 수집되지 않을 것입니다.

정렬기

데이터를 정렬 기간으로 나눈 후에는 해당 기간의 데이터 포인트에 적용할 정렬기인 함수를 선택합니다. 정렬기는 각 정렬 기간의 끝에 배치되는 단일 값을 생성합니다.

정렬 옵션에는 값을 합산하거나 값의 최댓값, 최솟값 또는 평균을 찾고, 선택한 백분위 수 값을 찾고, 값을 계산하기 등이 있습니다. Cloud Monitoring API는 여기에 설명된 간단한 집합보다 더 많은 정렬 함수 집합을 지원합니다. 전체 목록은 Aligner를 참조하세요. 시계열 데이터를 변환하는 비율 및 델타 정렬기에 대한 설명은 [종류, 유형, 변환][kinds-types-conversion]을 참조하세요.

예를 들어 원시 시계열(그림 1 참조)에서 버킷 데이터를 가져와 정렬기를 선택하고 각 버킷의 데이터에 적용합니다. 다음 표에서는 세 가지 정렬기인 최댓값, 평균, 최솟값의 결과와 원시 값을 보여줍니다.

기간 정렬기: 최댓값 정렬기: 평균 정렬기: 최솟값
1:01–2:00 400, 350, 300, 200 400 312.5 200
2:01–3:00 200, 100 200 150 100
3:01–4:00 300, 250, 200 300 250 200

다음 이미지는 원래의 빨간색 시계열에 1시간 정렬 기간을 사용하여 최댓값, 평균 또는 최솟값 정렬기를 적용한 결과를 보여줍니다(이미지에서 페이드 라인으로 표시됨).

세 가지 다른 정렬기 중 하나를 적용한 후 빨간색 시계열을 보여주는 그래프
그림 3: 세 가지 방식으로 정렬된 한 가지 시계열

다른 정렬기

다음 표는 동일한 원시 값과 3개의 다른 정렬기 결과를 보여줍니다.

  • 카운트는 정렬 기간 안의 값 수를 카운트합니다.
  • 합계는 정렬 기간의 모든 값을 더합니다.
  • 최신은 기간의 가장 최근 값을 정렬 값으로 사용합니다.
기간 정렬기: 개수 정렬기: 합계 정렬기: 최신
1:01–2:00 400, 350, 300, 200 4 1250 200
2:01–3:00 200, 100 2 300 100
3:01–4:00 300, 250, 200 3 750 200

이러한 결과는 차트에 표시되지 않습니다.

축소: 시계열 결합

절차의 다음 단계인 축소는 정렬된 여러 시계열을 새 시계열로 결합하는 절차입니다. 이 단계는 정렬 기간 경계 안의 모든 값을 단일 값으로 바꿉니다. 별도의 시계열에서 작동하므로 축소를 교차 계열 집계라고도 합니다.

감소기

감소기는 시계열 집합의 값에 적용되어 단일 값을 생성하는 함수입니다.

감소기 옵션에는 정렬된 값을 합산하거나 값의 최댓값, 최솟값 또는 평균을 찾는 것이 포함됩니다. Cloud Monitoring API는 대규모 축소 함수 집합을 지원합니다. 전체 목록은 Reducer를 참조하세요. 감소기 목록은 정렬기 목록과 유사합니다.

시계열을 축소하려면 먼저 정렬해야 합니다. 다음 이미지는 세 가지 원시 시계열(그림 1)을 평균 정렬기를 사용하여 1시간으로 정렬한 결과를 보여줍니다.

3개의 평균 시계열을 보여주는 그래프.
그림 4: 세 개의 평균 정렬 시계열

세 가지 평균 정렬 시계열의 값(그림 4 참조)은 다음 표에 나와 있습니다.

정렬 경계 빨간색 파란색 녹색
2:00 312.5 133.3 400
3:00 150 283.3 433.3
4:00 250 300 350

위의 테이블에서 정렬된 데이터를 사용하여 감소기를 선택하여 값에 적용합니다. 다음 테이블은 평균 정렬된 데이터에 서로 다른 감소기를 적용한 결과를 보여줍니다.

정렬 경계 감소기: 최댓값 감소기: 평균 감소기: 최솟값 감소기: 합계
2:00 400 281.9 133.3 845.8
3:00 433.3 288.9 150 866.7
4:00 350 300 250 900

기본적으로 축소는 모든 시계열에 적용되므로 단일 시계열이 생성됩니다. 다음 이미지는 3개의 평균 정렬 시계열을 최댓값 감소기로 집계하여 시계열 전체에서 가장 높은 평균값을 산출하는 결과를 보여줍니다.

평균 정렬 시계열에서 최댓값 감소기를 사용한 결과를 보여주는 그래프
그림 5: 세 가지 평균 정렬 시계열의 최댓값 감소

또한 축소는 그룹화와 결합할 수 있으며, 이때 시계열은 카테고리로 구성되고 감소기가 각 그룹의 시계열에 적용됩니다.

그룹화

그룹화를 사용하면 전체 시계열 집합이 아닌 시계열의 하위 집합에 감소기를 적용할 수 있습니다. 시계열을 그룹화하려면 라벨을 한 개 이상 선택합니다. 그러면 시계열이 선택된 라벨에 대한 값 기반으로 그룹화됩니다.

  • 이렇게 하면 각 그룹에 대해 하나의 시계열이 생성됩니다.
  • 그런 다음 그룹별 시계열에 다른 감소기를 적용할 수 있습니다. 이를 보조 축소라고 하며 모든 그룹화된 시계열을 하나의 결과로 줄입니다.

측정항목 유형이 zonecolor 라벨의 값을 기록하면 시계열을 하나 또는 둘 다로 그룹화할 수 있습니다. 감소기를 적용하면 각 그룹이 단일 시계열로 축소됩니다. 색상별로 그룹화하면 데이터에 나타나는 각 색상마다 하나의 시계열을 얻을 수 있습니다. 영역별로 그룹화할 경우 데이터에 표시되는 각 영역의 시계열을 얻을 수 있습니다. 둘 다 그룹화할 경우 색상과 영역 조합마다 시계열을 얻을 수 있습니다.

예를 들어 color 라벨에 대해 '빨간색', '파란색', '녹색' 값이 있는 여러 시계열을 캡처했다고 가정해 보겠습니다. 모든 시계열을 정렬한 후 color 값으로 그룹화한 후 그룹별로 줄일 수 있습니다. 이렇게 하면 세 가지 색상별 시계열이 생성됩니다.

색상별로 그룹화하여 축소한 시계열을 보여주는 그래프
그림 6: 색상별로 그룹화하여 축소한 시계열

이 예시에서는 사용된 정렬기 또는 감소기를 지정하지 않습니다. 여기서 중요한 점은 그룹화를 통해 대규모 시계열을 더 작은 세트로 줄일 수 있으며, 각 시계열은 공통 속성을 공유하는 그룹을 나타냅니다(이 예시에서는 color 라벨의 값).

보조 집계

그룹화를 사용할 경우 두 개 이상의 시계열이 축소될 수 있습니다. 보조 집계를 사용하면 그룹화된 축소 후에 적용할 두 번째 감소기를 선택할 수 있습니다.

다음 표는 그룹화된 시계열의 값을 보여줍니다(그림 6 참조).

정렬 경계 빨간색 그룹 파란색 그룹 초록색 그룹
2:00 400 150 450
3:00 200 350 450
4:00 300 300 400

그런 다음 보조 집계를 적용하여 이미 축소한 시계열 3개를 더 줄일 수 있습니다. 다음 표는 선택한 감소기를 적용한 결과를 보여줍니다.

정렬 경계 감소기: 최댓값 감소기: 평균 감소기: 최솟값 감소기: 합계
2:00 450 333.3 150 1000
3:00 450 333.3 200 1000
4:00 400 333.3 300 1000

다음 이미지는 3개의 그룹화된 계열을 평균 감소기로 집계한 결과를 보여줍니다.

그룹 축소 시계열의 평균 감소기 결과를 보여주는 그래프.
그림 7: 평균 보조 집계 후 그룹화된 시계열

종류, 유형, 전환

시계열의 데이터 포인트는 측정항목 종류와 값 유형으로 특성이 지정됩니다. 검토는 값 유형 및 측정항목 종류를 참조하세요. 한 데이터 세트에 적합한 정렬기와 감소기가 다른 데이터 세트에 적합하지 않을 수 있습니다. 예를 들어 거짓 값의 수를 계산하는 정렬기 또는 감소기는 부울 데이터에는 적합하지만 숫자 데이터에는 적합하지 않습니다. 마찬가지로 평균을 계산하는 정렬기 또는 감소기는 숫자 데이터에는 적용할 수 있지만 데이터 부울에는 적용되지 않습니다.

일부 정렬기와 감소기는 시계열의 측정항목 종류 또는 데이터 값 유형을 명시적으로 변경하는 데 사용할 수도 있습니다. ALIGN_COUNT와 같은 일부는 부작용으로 그렇게 합니다.

  • 측정항목 종류: 누적 측정항목은 값 수집이 시작된 이후의 각 값이 합계를 나타내는 값입니다. 누적 측정항목은 차트에서 직접 사용할 수 없지만 델타 측정항목은 이전 측정 이후의 값 변경을 나타냅니다.

    누적 및 델타 측정항목을 모두 변환하여 측정항목을 측정할 수도 있습니다. 예를 들어 시계열이 다음과 같은 델타 측정항목을 가정해 보겠습니다.

    (시작 시간, 종료 시간](분) 값(MiB)
    (0, 2] 8
    (2, 5] 6
    (6, 9] 9

    ALIGN_DELTA의 정렬기와 정렬 기간 3분을 선택했다고 가정합니다. 정렬 기간이 각 샘플의 (시작 시간, 종료 시간]과 일치하지 않으므로 시계열이 보간된 값으로 생성됩니다. 예를 들어 보간된 시계열은 다음과 같습니다.

    (시작 시간, 종료 시간](분) 보간된 값(MiB)
    (0, 1] 4
    (1, 2] 4
    (2, 3] 2
    (3, 4] 2
    (4, 5] 2
    (5, 6] 0
    (6, 7] 3
    (7, 8] 3
    (8, 9] 3

    그런 다음 3분 정렬 기간 내의 모든 포인트를 합산하여 정렬된 값을 생성합니다.

    (시작 시간, 종료 시간](분) 정렬된 값(MiB)
    (0, 3] 10
    (3, 6] 4
    (6, 9] 9

    ALIGN_RATE를 선택하면 정렬된 값이 정렬 기간으로 나뉜다는 점을 제외하면 프로세스가 동일합니다. 이 예시에서 정렬 기간은 3분이므로 정렬된 시계열의 값은 다음과 같습니다.

    (시작 시간, 종료 시간](분) 정렬된 값(MiB / 초)
    (0, 3] 0.056
    (3, 6] 0.022
    (6, 9] 0.050

    누적 측정항목을 차트로 표시하려면 델타 측정항목 또는 비율 측정항목으로 변환해야 합니다. 누적 측정항목의 프로세스는 이전 설명과 유사합니다. 인접한 기간의 차이를 계산하여 누적 시계열에서 델타 시계열을 계산할 수 있습니다.

  • 값 유형: 일부 정렬기와 감소기는 입력 데이터의 값 유형을 변경하지 않고 그대로 둡니다. 예를 들어 정수 데이터는 정렬 후 정수 데이터입니다. 다른 정렬기 및 감소기는 데이터를 한 유형에서 다른 유형으로 변환하므로 원래 값 유형에 적합하지 않은 방식으로 정보를 분석할 수 있습니다.

    예를 들어 REDUCE_COUNT 감소기는 숫자, 부울, 문자열, 분포 데이터에 적용할 수 있지만 생성되는 결과는 기간 내 값 수를 계산하는 64비트 정수입니다. REDUCE_COUNT는 게이지 및 델타 측정항목에만 적용할 수 있으며 측정항목 종류는 변경되지 않습니다.

AlignerReducer의 참조 표에서는 각각 적절한 데이터 유형과 변환에 따른 결과를 나타냅니다. 예를 들어 다음은 ALIGN_DELTA의 항목을 보여줍니다.

델타 정렬기의 참조 항목.