서버 모니터링 대시보드의 CPU 그래프, 매분 찍히는 주가, 스마트워치의 심박수 기록, 웹 분석 도구의 시간대별 방문자 수. 형태는 제각각이지만 공통점이 하나 있다 — 모든 데이터 포인트에 “언제”라는 타임스탬프가 붙어 있고, 그 순서 자체가 정보라는 점이다. 이런 데이터를 시계열(time series) 데이터라 부른다. CPU 60%라는 값 하나보다 “5분 만에 45에서 60으로 올랐다”는 변화가 정보인 데이터, 다시 말해 “언제”를 떼면 의미가 사라지는 데이터다.
일반 데이터와 무엇이 다른가
회원 테이블 같은 일반 데이터는 현재 상태를 담는다. 이메일이 바뀌면 기존 값을 덮어쓴다. 시계열 데이터는 반대로 덮어쓰지 않고 계속 쌓기만 한다. “지금 CPU가 60%“가 아니라 “12:00에 45%, 12:01에 52%, 12:02에 60%“라는 이력 전체가 자산이다. 이 차이에서 세 가지 특성이 따라 나온다.
- 거의 삽입만 일어난다. 과거 기록을 수정할 일이 드물다. 쓰기 패턴이 append 한 방향으로 쏠린다.
- 최근 데이터일수록 뜨겁다. 조회 대부분이 최근 구간에 몰리고, 오래된 데이터는 요약본만 남기고 버리기도 한다(보존 정책).
- 범위 조회가 기본이다. “지난 24시간의 평균” 같은 시간 구간 질의가 대부분이다. 특정 한 건을 콕 집는 조회는 드물다.
이 특성 때문에 다루는 방법이 달라진다. 분석 쪽에서는 추세(우상향인가), 계절성(매주 월요일마다 튀는가), 이상 탐지(평소 패턴에서 벗어났는가) 같은 시간축 특유의 질문을 던진다. 저장 쪽에서는 일반 RDB로도 시작할 수 있지만, 양이 커지면 시간 범위 조회와 대량 삽입에 맞게 압축·인덱싱을 최적화한 시계열 전용 데이터베이스(InfluxDB, Prometheus, TimescaleDB 등)로 넘어간다.
로그도 시계열이다
서버 접근 로그, 에러 로그, 결제 이력, 감사 로그 — 전부 타임스탬프가 붙고, 덮어쓰지 않고 쌓이며, “언제 일어났는지”가 핵심이다. 시계열의 특성과 정확히 일치한다. 로그는 시계열 데이터의 대표적인 부분집합이다.
다만 실무, 특히 관측가능성(observability) 영역에서는 같은 시간축 위의 데이터를 두 갈래로 나눠 부른다. 이 구분이 도구 선택까지 가르기 때문에 알아둘 가치가 있다.
메트릭 vs 로그
- 메트릭(metric) — 일정한 간격으로 찍히는 숫자다. “매 10초마다 CPU 사용률”처럼 규칙적이고, 값 하나가 작고, 목적은 집계다(평균·최대·백분위). Prometheus가 다루는 것이 이쪽이다.
- 로그(log) — 사건이 일어날 때마다 남는 기록이다. “14:03:22에 유저 A가 로그인 실패”처럼 간격이 불규칙하고, 내용이 텍스트나 구조화된 이벤트라 덩치가 크며, 목적은 검색과 추적이다. Elasticsearch 같은 검색 엔진 기반 스택이 다루는 것이 이쪽이다.
| 메트릭 | 로그 | |
|---|---|---|
| 발생 | 규칙적(주기 샘플링) | 불규칙(사건 발생 시) |
| 내용 | 숫자 하나 | 텍스트·구조화 이벤트 |
| 크기 | 작다 | 크다 |
| 주 용도 | 집계·추세·알림 | 검색·원인 추적 |
| 대표 도구 | Prometheus, InfluxDB | Elasticsearch, Loki |
둘 다 시계열이지만 저장·조회 최적화 방향이 완전히 달라서 도구가 갈린다. 숫자를 주기적으로 쌓는 쪽은 압축과 집계에, 사건을 쌓는 쪽은 전문 검색에 강해야 하기 때문이다.
로그에서 메트릭 뽑기
두 갈래는 단절된 게 아니라 변환이 가능하다. 에러 로그를 분 단위로 세면 “분당 에러 수”라는 메트릭이 된다. 타임스탬프가 ISO 형식으로 시작하는 로그 파일이라면 셸에서도 바로 해볼 수 있다.
$ cat app.log
2026-08-15T14:03:22Z ERROR payment failed
2026-08-15T14:03:45Z ERROR payment failed
2026-08-15T14:04:10Z ERROR db timeout
$ awk '{ print substr($1, 1, 16) }' app.log | sort | uniq -c
2 2026-08-15T14:03
1 2026-08-15T14:04
타임스탬프의 분 단위 앞부분만 잘라 세는 것만으로 불규칙한 사건(로그)이 규칙적인 숫자(메트릭)로 바뀐다. 실제 모니터링 스택에서도 같은 원리의 변환이 상시로 일어난다 — 로그를 집계해 대시보드 그래프를 그리고, 그 수치에 알림을 거는 식이다.
관계를 그림으로 정리하면
주의할 것은 역방향이다. 로그는 시계열이지만, 시계열이라고 다 로그는 아니다. 주가나 센서값은 사건의 기록이 아니라 상태를 주기적으로 샘플링한 것이라 로그라 부르지 않는다. 정리하면 시계열이라는 큰 우산 아래에 불규칙한 사건의 기록(로그)과 규칙적인 측정값(메트릭)이 나란히 들어 있는 그림이고, 로그를 집계하면 메트릭이 되는 통로가 둘 사이를 잇는다.
이 글에 대한 의견은 아래 댓글로 남겨주세요 (GitHub 계정 필요). 로그인 없이 남기고 싶다면