시간 시리즈 시각화
시간 시리즈 시각화 (Time series)
시간 시리즈 시각화는 시간에 따른 데이터 값들의 변화를 보여주는 기본 방식이에요. 각 데이터 포인트가 타임스탬프에 대응되고 이 _시간 시리즈_가 그래프로 표시돼요. 시리즈를 선(line), 점(point), 막대(bar)로 렌더링할 수 있어 거의 모든 유형의 시간 시리즈 데이터를 표시할 수 있어요.
출처: Time series
본문
시간 시리즈 시각화는 x축에 시간 진행, y축에 값의 크기를 표시하는 x-y 그래프를 보여줘요. 테이블이나 목록으로 추적하기 어려운 많은 수의 타임스탬프 데이터 포인트를 표시하는 데 이상적이에요. 예를 들면 하루 동안의 온도 변화, 은퇴 계좌의 일일 진행, 1년 동안 매일 조깅한 거리 같은 것을 추적할 때 사용해요.
레거시 Graph 시각화가 있는 대시보드를 열면 Grafana가 기존 패널 설정에 따라 자동으로 time series 또는 다른 지원 시각화로 마이그레이션해요.
지원되는 데이터 형식
시간 시리즈 시각화는 시간 순서대로 정렬되고 테이블로 형식화된 측정값의 연속인 시간 시리즈 데이터를 요구해요. 테이블의 각 행이 특정 시점의 개별 측정값을 나타내요. 데이터셋에는 최소 하나의 숫자 필드가 있어야 하며, 숫자 필드가 여러 개면 각각 새 선·점·막대로 그려지고 툴팁에 필드 이름으로 레이블이 지정돼요. 한 시리즈 내의 각 데이터 포인트는 고유한 타임스탬프를 가져야 해요.
예시 1 — 세 개의 숫자 필드가 세 개의 선으로 그려짐:
| Time | value1 | value2 | value3 |
|---|---|---|---|
| 2022-11-01 10:00:00 | 1 | 2 | 3 |
| 2022-11-01 11:00:00 | 4 | 5 | 6 |
| 2022-11-01 12:00:00 | 7 | 8 | 9 |
| 2022-11-01 13:00:00 | 4 | 5 | 6 |
시간 필드가 자동 감지되지 않으면 데이터 변환으로 데이터를 시간 형식으로 변환해야 할 수 있어요.
예시 2 — 여러 데이터셋 지원. 모든 데이터셋이 올바른 형식이면 시각화가 모든 데이터셋의 숫자 필드를 그려주고 필드의 컬럼 이름으로 레이블을 지정해요.
Query1
| Time | value1 | value2 | value3 |
|---|---|---|---|
| 2022-11-01 10:00:00 | 1 | 2 | 3 |
| 2022-11-01 11:00:00 | 4 | 5 | 6 |
| 2022-11-01 12:00:00 | 7 | 8 | 9 |
Query2
| timestamp | number1 | number2 | number3 |
|---|---|---|---|
| 2022-11-01 10:30:00 | 11 | 12 | 13 |
| 2022-11-01 11:30:00 | 14 | 15 | 16 |
| 2022-11-01 12:30:00 | 17 | 18 | 19 |
| 2022-11-01 13:30:00 | 14 | 15 | 16 |
예시 3 — 다른 시간 프레임의 이벤트를 비교하려면 비교 대상 데이터셋을 쿼리할 때 시간 오프셋을 사용:
Query1
| Time | value1 | value2 | value3 |
|---|---|---|---|
| 2022-11-01 10:00:00 | 1 | 2 | 3 |
Query2
| timestamp(-30min) | number1 | number2 | number3 |
|---|---|---|---|
| 2022-11-01 10:30:00 | 11 | 12 | 13 |
오프셋을 추가하면 데이터셋이 동시에 발생하는 것처럼 보여 비교가 쉬워져요.
알림 규칙
알림 규칙을 시간 시리즈 시각화에 어노테이션 형태로 링크해 알림이 발생·해결될 때 관찰할 수 있어요. 또한 패널 편집기의 Alert 탭에서 알림 규칙을 만들 수 있어요.
특수 오버라이드
Transform 오버라이드 속성
Graph styles > Transform 오버라이드 속성은 툴팁, 컨텍스트 메뉴, 범례에 표시되는 값에 영향 없이 시리즈 값을 변환해요.
- Constant: 첫 번째 값을 상수 선으로 표시
- Negative Y: 결과를 y축에서 음수 값으로 반전
Fill below to 오버라이드 속성
Graph styles > Fill below to 오버라이드 속성은 두 시리즈 사이의 영역을 채워요. 구성 시 채우기를 중지할 시리즈를 선택해요. 예: Min, Max, Value 세 시리즈가 있고 Min/Max는 Line width가 0. Max는 Fill below to 오버라이드가 Min으로 설정되어 Max와 Min 사이 영역을 Max 선 색으로 채워요.
여러 y축
여러 y축을 표시하고 싶다면(예: 온도와 습도를 다른 단위의 두 y축으로) 필드 오버라이드를 추가로 구성할 수 있어요. 온도·습도 포함 데이터셋 예제를 참고하고, 표시할 각 y축마다 단계를 반복해요.
패널 시간 범위 팬과 확대/축소
- Zoom in: 패널을 클릭·드래그해 특정 시간 범위 확대
- Zoom out: 패널 어디든 더블클릭하면 시간 범위 축소. 더블클릭마다 범위가 2배가 되고 각 측면에 동일한 시간이 추가 (9:00-9:59 → 8:30-10:29 → 7:30-11:29)
- Pan: 패널 x축 영역을 클릭·드래그해 시간 범위 팬. 드래그 거리만큼 이동
구성 옵션
패널 편집기 창에서 사용 가능한 구성 옵션을 설명해요. 옵션은 가능한 Grafana에 나타나는 순서대로 나열돼요.
패널 옵션 (Panel options)
Panel options 섹션에서 패널 제목·설명·패널 링크 같은 기본 옵션을 설정해요. Configure panel options 참고.
툴팁 옵션 (Tooltip options)
| Option | Description |
|---|---|
| Tooltip mode | 마우스를 올렸을 때 툴팁 동작 방식 선택 |
| Values sort order | 툴팁에 값이 나열되는 순서 제어 |
| Hide zeros | Tooltip mode가 All일 때 표시되는 옵션. 값이 0인 시리즈를 툴팁 목록에 보여줄지 제어 |
| Hover proximity | 툴팁 표시를 트리거할 커서와 데이터 포인트 사이 거리(픽셀) 설정 |
| Max width | 툴팁 상자 최대 너비 |
| Max height | 툴팁 상자 최대 높이. 기본 600픽셀 |
Tooltip mode: Single(호버 중인 단일 시리즈만 표시), All(모든 시리즈 표시, 호버 시리즈는 굵게), Hidden(툴팁 미표시). 오버라이드로 툴팁에서 개별 시리즈를 숨길 수 있어요.
Values sort order: None(자동 정렬), Ascending(작은 것부터), Descending(큰 것부터).
Hover proximity: 커서와 데이터 포인트의 거리(픽셀)로 툴팁 표시를 제어해요.
범례 옵션 (Legend options)
| Option | Description |
|---|---|
| Visibility | 범례 켜기/끄기 토글 |
| Mode | List(목록 표시, 기본) 또는 Table(테이블 표시) |
| Placement | Bottom(그래프 아래) 또는 Right(그래프 오른쪽) |
| Width | 오른쪽 배치 시 범례 너비. 픽셀 또는 max(200px, 20%) 같은 CSS width 속성 |
| Limit | 기본 표시 시리즈 수 제한. 나머지는 Show all 링크로 펼칠 수 있음 |
| Values | 범례에 보여줄 표준 계산 선택. 여러 개 가능 |
| Overflow | 긴 시리즈 이름 오버플로 처리. Ellipsis(…로 자름) 또는 Wrap(줄 바꿈) |
Series visibility: 스위치를 켜면 범례 옆/위에 필터 컨트롤이 추가돼요. 이름이나 레이블로 보이는 시리즈를 좁힐 수 있고, 쿼리를 편집하지 않고도 시리즈 부분집합에 집중할 수 있어요. 툴팁에서 By name(시리즈 이름별), By labels(레이블 키·값별)로 필터링하고 Select all/Deselect all, Clear all, Pin to sidebar 옵션을 제공해요.
축 옵션 (Axis options)
| Option | Description |
|---|---|
| Time zone | 시간대 선택기로 x축에 표시할 시간대 추가/제거 |
| Placement | y축 배치 선택 |
| Label | y축 텍스트 레이블 설정 |
| Width | 축 고정 너비. 기본은 동적 계산 |
| Show grid lines | Auto, On, Off |
| Color | Text(패널 텍스트 색) 또는 Series(시리즈 색) |
| Show border | 축 경계선 표시 |
| Scale | Linear, Logarithmic, Symlog |
| Centered zero | y축을 0 중심으로 |
| Soft min / Soft max | y축 한계를 더 잘 제어 |
Placement: Auto(단위가 다른 시리즈 두 개 이상이면 첫 단위는 왼쪽, 나머지는 오른쪽 축), Left, Right, Hidden(모든 축 숨김).
Scale: Linear(동일 구간 분할), Logarithmic(로그 스케일, 2진 base 2 또는 상용 base 10 선택), Symlog(대칭 로그 스케일, linear threshold 옵션으로 선형→로그 전환 지점 설정).
Soft min/max: 기본적으로 Grafana가 데이터셋에 따라 y축 범위를 자동 설정해요. Soft min/max는 대부분 평평한 데이터에서 작은 변동이 과장되지 않게 막아줘요. 반면 hard min/max는 간헐적 스파이크를 특정 지점 이후로 잘라내 유용한 세부를 가리는 걸 막아줘요. 하드 한계는 표준 min/max 옵션으로 설정해요.
어노테이션 옵션
| Option | Description |
|---|---|
| Multi-row annotations | 각 어노테이션 데이터 프레임을 시각화의 별도 행으로 분리. 하나 이상의 어노테이션을 표시하는 패널에서만 보임 |
| Annotation clustering | 인접한 점 어노테이션을 단일 어노테이션 영역으로 결합 |
| Hide lines and areas | 어노테이션 표시선과 영역 어노테이션의 음영 영역 표시 제어 |
그래프 스타일 옵션 (Graph styles options)
| Option | Description |
|---|---|
| Style | 데이터를 Lines, Bars, Points로 표시 |
| Line interpolation | 시리즈 선 보간 방식 |
| Line width | 시리즈 선 두께 또는 막대 윤곽선 두께 |
| Fill opacity | 시리즈 영역 채움색 |
| Gradient mode | 시리즈 색 기반 그라데이션 채움 제어 |
| Line style | 실선, 점선, 점선 스타일 |
| Connect null values | 데이터의 갭(널 값)을 그래프에서 처리하는 방식 |
| Disconnect values | 데이터 값이 끊어질 임계값 설정 여부 |
| Show points | 선이나 막대에 데이터 포인트 표시 여부 |
| Show values | 선/막대 위에 데이터 포인트 값 표시 여부 |
| Point size | 포인트 크기(지름 1~40픽셀) |
| Stack series | 시리즈를 서로 위에 쌓을지 |
| Bar alignment | 데이터 포인트에 상대적인 막대 위치 |
| Bar width factor | 데이터 포인트 사이 최소 공간에 상대적인 막대 너비 |
Line interpolation: Linear(직선 연결), Smooth(곡선, 전환 부드럽게), Step before(단계, 포인트는 단계 끝), Step after(단계, 포인트는 단계 시작).
Gradient mode: None(그라데이션 없음, 기본), Opacity(y축 값 증가에 따라 채움 불투명도 증가), Hue(시리즈 색의 색조 기반 미묘한 그라데이션), Scheme(색상 스킴 기반 그라데이션).
Line style: Solid(실선, 기본), Dash(점선, 길이·갭 선택, 기본 10, 10), Dots(점선, 갭 선택, 기본 0, 10).
Connect null values: Never(갭 있는 데이터 포인트 연결 안 함), Always(항상 연결), Threshold(갭이 더 이상 연결되지 않는 임계값 지정).
Disconnect values: Never 또는 Threshold(값이 끊어질 임계값).
Show points: Auto(데이터 밀도 기반 자동), Always(항상), Never(표시 안 함).
Stack series: Off(모든 시리즈가 같은 공간 공유), Normal(시리즈를 위로 쌓음), 100%(모든 시리즈 합이 100%가 되도록 백분율 스택). 스태킹 그룹 이름 옵션은 오버라이드를 만들 때만 사용 가능. 스태킹은 오해를 불러일으키는 그래프를 만들 수 있으니 주의해요.
Bar alignment: Before(포인트 앞에 막대, 포인트는 막대의 뒤쪽 모서리), Center(포인트 중심, 기본), After(포인트 뒤, 포인트는 막대의 앞쪽 모서리).
표준 옵션 (Standard options)
표준 옵션은 필드 데이터가 시각화에 표시되는 방식을 바꿔요. 옵션을 설정하면 모든 필드나 시리즈에 적용돼요.
| Option | Description |
|---|---|
| Unit | 필드가 사용할 단위 |
| Min/Max | 백분율 임계값 계산에 사용되는 최소/최대 값 |
| Field min/max | 각 필드의 min/max를 개별 계산 |
| Decimals | 렌더링 값에 포함할 소수 자릿수 |
| Display name | 모든 필드의 표시 제목. 변수 사용 가능 |
| Color scheme | 전체 시각화에 단일/다중 색상 설정 |
| No value | 필드 값이 비었을 때 표시할 값. 기본은 하이픈(-) |
데이터 링크와 액션
_데이터 링크_는 다른 패널·대시보드·외부 리소스에 연결하고, _액션_은 기본적인 무인증 API 호출을 트리거해요. 각 데이터 링크에 Title, URL, Open in new tab, One click 옵션을 설정해요. 각 액션에는 다음 설정이 있어요.
| Option | Description |
|---|---|
| Title | UI에 표시되는 사람이 읽을 수 있는 레이블 |
| Confirmation message | 액션을 확인/취소하는 설명 프롬프트 |
| Connection | Direct from browser 또는 구성된 데이터 소스 경유 |
| Method | POST, PUT, GET |
| URL | 요청 URL. $를 입력하거나 Ctrl+Space/Cmd+Space로 변수 나열 |
| Variables | type 선택이 있는 Key/Name 쌍. 키 앞에 $를 붙여 요청에 추가 |
| Query parameters | Key/Value 쌍 |
| Headers | Key/Value 쌍과 Content-Type |
| Content-Type | application/json, text/plain, application/XML, application/x-www-form-urlencoded |
| Body | 요청 본문 |
값 매핑 (Value mappings)
값 매핑은 시각화에서 데이터가 표시되는 방식을 바꾸는 기법이에요. 각 값 매핑에 Condition(Value, Range, Regex, Special — Null/NaN/불리언), Display text, Color, Icon(Canvas 전용)을 설정해요. Configure value mappings 참고.
임계값 (Thresholds)
임계값은 충족되거나 초과되면 시각적으로 반영되는 메트릭 값이나 한계예요. 각 임계값에 Value, Thresholds mode(Absolute/Percentage), Show thresholds를 설정해요.
필드 오버라이드 (Field overrides)
오버라이드는 특정 필드나 시리즈에 대한 시각화 설정을 커스터마이즈해요.
| Option | Description |
|---|---|
| Fields with name | 사용 가능한 모든 필드 목록에서 선택 |
| Field with name matching regex | 정규식으로 오버라이드할 필드 지정 |
| Fields with type | string, numeric, time 같은 유형으로 필드 선택 |
| Fields returned by query | A, B, C 같은 특정 쿼리가 반환한 모든 필드 선택 |
| Fields with values | Min, Max, Count, Total 같은 정의된 reducer 조건으로 필드 선택 |