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

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

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

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

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

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

원시 시계열 데이터

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

필터링 및 집계를 소개하기 위해 이 페이지의 예시에서는 소수의 가상 시계열을 사용합니다. 예를 들어 다음 이미지는 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를 참조하세요. 시계열 데이터를 변환하는 비율 및 델타 정렬기에 대한 설명은 종류, 유형, 변환을 참조하세요.

예를 들어 원시 시계열(그림 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개의 평균 정렬 시계열을 최댓값 감소기로 집계하여 시계열 전체에서 가장 높은 평균값을 산출하는 결과를 보여줍니다.

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