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

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

원시 시계열 데이터를 분석하려면 조작이 필요하며, 분석에는 일부 데이터를 필터링하고 함께 집계해야 하는 경우가 많습니다. 이 페이지에서는 원시 데이터를 상세검색하는 두 가지 기본 기법을 설명합니다.

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

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

이 페이지에서는 필터링 및 집계의 개념을 설명합니다. 이를 직접 적용하는 방법은 다루지 않습니다. 시계열 데이터에 필터링 또는 집계를 적용하려면 Cloud Monitoring API 또는 Google Cloud Console의 차트 및 알림 도구를 사용하세요.

원시 시계열 데이터

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

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

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

각 시계열은 빨간색, 파란색, 녹색으로 표시되어 가설적인 color 라벨 값을 반영합니다. 라벨의 각 값마다 하나의 시계열이 있습니다. 값이 기록된 시간이 다르기 때문에 이 값들은 깔끔하게 선을 그리지 않습니다.

필터링

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

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

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

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

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

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

집계

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

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

시계열을 줄이려면 먼저 시계열을 정렬해야 합니다.

정렬: 계열형 정규화

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

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

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

평균 정렬 시계열에서 최댓값 감소기를 사용한 결과를 보여주는 그래프
그림 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와 같은 일부 기능은 부수적으로 사용됩니다.

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

    누적 및 델타 측정항목을 모두 변환하여 측정항목을 측정할 수도 있습니다.

    예를 들어 ALIGN_DELTA 정렬기를 사용하여 누적 측정 값을 차트용 델타 측정 값으로 변환하거나 ALIGN_RATE 정렬기를 사용하여 누적 또는 델타 측정 값을 측정기로 변환할 수 있습니다.

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

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

AlignerReducer에 대한 참조 테이블은 각기 어떤 종류의 데이터 유형이 적합한지와 그에 따른 전환 결과를 보여줍니다. 예를 들어 ALIGN_DELTA의 항목은 다음과 같습니다.

델타 정렬기의 참조 항목.