그라파나

시계열 소개

구일칠구 2022. 7. 12. 00:58

시계열 소개

하루 종일 외부 온도가 어떻게 변하는지 알고 싶어한다고 상상해보십시오. 매 시간마다 온도계를 확인하고 현재 온도와 함께 시간을 기록합니다. 잠시 후 다음과 같이 됩니다.

시간값

09:00 24°C
10:00 26°C
11:00 27°C

이와 같은 온도 데이터는 우리가 시계열 이라고 부르는 것의 한 예입니다 . 즉 , 시간에 따라 정렬된 측정 시퀀스입니다. 표의 모든 행은 특정 시간에 하나의 개별 측정값을 나타냅니다.

표는 개별 측정값을 식별하고자 할 때 유용하지만 큰 그림을 보기 어렵게 만듭니다. 시계열에 대한 보다 일반적인 시각화는 그래프 이며, 대신 시간 축을 따라 각 측정값을 배치합니다. 그래프와 같은 시각적 표현을 사용하면 다른 방법으로는 보기 어려운 데이터의 패턴과 기능을 더 쉽게 발견할 수 있습니다.

예와 같은 온도 데이터는 시계열의 유일한 예가 아닙니다. 시계열의 다른 예는 다음과 같습니다.

  • CPU 및 메모리 사용량
  • 센서 데이터
  • 주식 시장 지수

이러한 각 예는 시간순으로 정렬된 측정의 시퀀스이지만 다른 속성도 공유합니다.

  • 새 데이터는 마지막에 일정한 간격으로 추가됩니다(예: 09:00, 10:00, 11:00 등).
  • 측정값이 추가된 후에는 거의 업데이트되지 않습니다. 예를 들어 어제의 온도는 변하지 않습니다.

시계열은 강력합니다. 언제든지 시스템 상태를 분석할 수 있으므로 과거를 이해하는 데 도움이 됩니다. 시계열은 여유 디스크 공간이 0이 된 직후 서버가 충돌했음을 알려줄 수 있습니다.

시계열은 또한 데이터의 추세를 파악하여 미래를 예측하는 데 도움이 될 수 있습니다. 등록된 사용자 수가 지난 몇 달 동안 매월 4%씩 증가했다면 연말에 사용자 기반이 얼마나 커질지 예측할 수 있습니다.

일부 시계열에는 알려진 기간 동안 반복되는 패턴이 있습니다. 예를 들어, 온도는 일반적으로 밤에 내려가기 전에 낮에 더 높습니다. 이러한 주기적 또는 계절적 시계열을 식별하여 다음 기간에 대해 자신 있게 예측할 수 있습니다. 시스템 로드가 매일 18:00경에 최고조에 달하는 것을 알고 있다면 바로 그 전에 시스템을 더 추가할 수 있습니다.

시계열 집계

측정 대상에 따라 데이터가 크게 달라질 수 있습니다. 측정 간 간격보다 긴 기간을 비교하려면 어떻게 해야 합니까? 1시간에 한 번씩 온도를 측정하면 하루에 24개의 데이터 포인트가 생깁니다. 몇 년 동안 8월의 온도를 비교하려면 31 x 24 데이터 포인트를 하나로 결합해야 합니다.

측정 컬렉션을 결합하는 것을 집계 라고 합니다. 시계열 데이터를 집계하는 방법에는 여러 가지가 있습니다. 다음은 몇 가지 일반적인 사항입니다.

  • 평균 은 모든 값의 합계를 총 값 수로 나눈 값을 반환합니다.
  • Min Max 는 컬렉션에서 가장 작은 값과 가장 큰 값을 반환합니다.
  • Sum 은 컬렉션에 있는 모든 값의 합계를 반환합니다.
  • Count 는 컬렉션의 값 수를 반환합니다.

예를 들어, 한 달의 데이터를 집계하여 2017년 8월이 평균적으로 전년도보다 따뜻했음을 확인할 수 있습니다. 대신 온도가 가장 높은 달을 확인하려면 각 달의 최고 온도를 비교합니다.

시계열 데이터를 집계하기로 선택하는 방법은 중요한 결정이며 데이터로 전달하려는 이야기에 따라 다릅니다. 다른 집계를 사용하여 동일한 시계열 데이터를 다른 방식으로 시각화하는 것이 일반적입니다.

시계열 및 모니터링

IT 산업에서 시계열 데이터는 인프라, 하드웨어 또는 애플리케이션 이벤트와 같은 항목을 모니터링하기 위해 수집되는 경우가 많습니다. 기계 생성 시계열 데이터는 일반적으로 짧은 간격으로 수집되므로 예상치 못한 변경이 발생한 직후에 대응할 수 있습니다. 결과적으로 데이터는 빠른 속도로 누적되므로 데이터를 효율적으로 저장하고 쿼리하는 방법이 필수적입니다. 그 결과 최근 몇 년 동안 시계열 데이터에 최적화된 데이터베이스가 인기를 얻고 있습니다.

시계열 데이터베이스

시계열 데이터베이스(TSDB)는 시계열 데이터용으로 명시적으로 설계된 데이터베이스입니다. 일반 데이터베이스를 사용하여 측정값을 저장할 수 있지만 TSDB에는 몇 가지 유용한 최적화 기능이 있습니다.

최신 시계열 데이터베이스는 측정값이 추가되기만 하고 거의 업데이트되거나 제거되지 않는다는 사실을 이용합니다. 예를 들어, 각 측정의 타임스탬프는 시간이 지남에 따라 거의 변경되지 않으므로 중복 데이터가 저장됩니다.

다음 Unix 타임스탬프 시퀀스를 보십시오.

1572524345, 1572524375, 1572524404, 1572524434, 1572524464

이 타임스탬프를 보면 모두 로 시작하여 1572524디스크 공간을 제대로 사용하지 못합니다. 대신 각 후속 타임스탬프를 첫 번째 타임스탬프의 차이 또는 delta 로 저장할 수 있습니다.

1572524345, +30, +29, +30, +30

다음 델타의 델타를 계산하여 한 단계 더 나아갈 수도 있습니다.

1572524345, +30, -1, +1, +0

측정이 일정한 간격으로 수행되면 이러한 델타의 델타 대부분은 0이 됩니다. 이와 같은 최적화로 인해 TSDB는 다른 데이터베이스보다 훨씬 적은 공간을 사용합니다.

TSDB의 또 다른 기능은 태그 를 사용하여 측정을 필터링하는 기능 입니다. 각 데이터 포인트에는 측정이 수행된 위치와 같은 컨텍스트 정보를 추가하는 태그로 레이블이 지정됩니다. 다음은 각 측정값이 저장되는 방법을 보여주는 InfluxDB 데이터 형식 의 예입니다.

weather,location=us-midwest temperature=82 1465839830100400200
|    -------------------- --------------  |
|             |             |             |
|             |             |             |
+-----------+--------+-+---------+-+---------+
|measurement|,tag_set| |field_set| |timestamp|
+-----------+--------+-+---------+-+---------+

다음은 Grafana에서 지원하는 일부 TSDB입니다.

  • 석묵
  • 인플럭스DB
  • 프로메테우스

시계열 데이터 수집

시계열을 저장할 장소가 생겼으니 실제로 측정값을 어떻게 수집할까요? 시계열 데이터를 수집하려면 일반적으로 모니터링하려는 장치, 머신 또는 인스턴스에 수집기 를 설치합니다. 일부 수집기는 특정 데이터베이스를 염두에 두고 만들어졌으며 일부는 다른 출력 대상을 지원합니다.

다음은 수집기의 몇 가지 예입니다.

  • 수집
  • 통계
  • 프로메테우스 수출업자
  • 텔레그라프

수집기 는 데이터를 데이터베이스로 푸시 하거나 데이터베이스가 데이터베이스에서 데이터를 가져오도록 합니다. 두 방법 모두 장단점이 있습니다.

장점단점

푸시 여러 대상에 데이터를 더 쉽게 복제할 수 있습니다. TSDB는 전송되는 데이터의 양을 제어할 수 없습니다.
당기다 수집되는 데이터의 양과 신뢰성에 대한 더 나은 제어. 방화벽, VPN 또는 로드 밸런서로 인해 에이전트에 액세스하기 어려울 수 있습니다.

모든 측정값을 데이터베이스에 쓰는 것은 비효율적이므로 수집기는 데이터를 미리 집계하고 정기적인 간격으로 시계열 데이터베이스에 씁니다.

'그라파나' 카테고리의 다른 글

히스토그램 및 히트맵 소개  (0) 2022.07.12
시계열 차원  (0) 2022.07.12
모범 사례 소개<h1 id="introduction-to-exemplars">모범 사례 소개</h1>  (0) 2022.07.11
예시 데이터 보기  (0) 2022.07.11
그라파나 기본  (0) 2022.07.11