OpenMetrics 탐색기
OpenMetrics 탐색기는 WhaTap에서 제공하는 메트릭 데이터 조회 및 시각화 도구입니다. 수집된 메트릭을 PromQL로 조회하고, 결과를 차트(Graph)와 테이블(Table)로 시각화합니다.
주요 기능
- PromQL 쿼리를 통한 메트릭 조회
- Graph/Table 뷰로 데이터 시각화
- 시간 범위 선택 시 자동으로 promql에 시간 입력
- 실시간 메트릭 모니터링
화면 구성
- 상단: 시간 범위 선택기, 쿼리 입력창
- 중앙: Graph/Table/Stacked Bar 뷰 전환 버튼
- 하단: 조회 결과 표시 (그래프 또는 테이블)
왜 PromQL이 필요한가요?
OpenMetrics는 Prometheus 메트릭 포맷을 기반으로 다양한 시스템과 애플리케이션의 시계열 지표를 수집합니다. Prometheus는 오픈소스 모니터링 도구로, CPU 사용률, 메모리 사용량, HTTP 요청 수, 에러율 등과 같은 수치 기반의 시간 흐름 데이터를 메트릭 지표로 저장합니다.
이러한 지표들은 대부분 수초 단위로 지속적으로 수집되며, 시간에 따라 끊임없이 변화하는 '시계열 데이터(time-series data)'의 형태를 가집니다.
하지만 단순히 데이터를 수집하는 것만으로 "지금 서비스가 정상인가?", "에러 비율이 평소보다 높아졌는가?", "어떤 API가 느려졌는가?" 같은 의미 있는 분석이 어렵습니다.
그래서 OpenMetrics 탐색기에서 수집된 메트릭을 분석할 수 있는 쿼리 언어가 필요하고, 그 역할을 하는 것이 바로 PromQL(Prometheus Query Language)입니다.
PromQL을 사용하면 다음과 같은 분석이 가능합니다.
- 실시간 모니터링: 현재 시스템 상태를 즉시 확인 (현재 CPU 사용률, 활성 사용자 수 등)
- 추세 분석: 시간에 따른 변화 패턴 파악 (최근 1시간 동안 초당 요청 수 증가율)
- 비교 분석: 여러 서버나 서비스 간의 지표 비교 (서버별 에러율, 지역별 응답 시간)
- 집계 및 계산: 복잡한 수학 연산과 통계 계산 (전체 에러율, 평균 응답 시간, 상위 10개 느린 API)
- 알림 조건 설정: 특정 임계값 초과 시 자동 알림 (에러율 5% 이상, 메모리 사용률 90% 이상)
PromQL 사용자 가이드
쿼리 실행 방식
| 쿼리 | 설명 |
|---|---|
| Instant Query (즉시 쿼리) | 특정 시점의 데이터를 조회함. Table 탭에서 사용됨 |
| Range Query (범위 쿼리) | 시작 시간과 종료 시간 사이의 데이터를 일정한 간격으로 조회함 |
데이터 타입
PromQL 표현식은 4가지 타입으로 평가됩니다.
| 타입 | 설명 |
|---|---|
| Instant Vector | 각 시계열에서 단일 샘플을 포함하는 시계열 집합 (모두 동일한 타임스탬프) |
| Range Vector | 각 시계열에서 시간 범위의 데이터 포인트를 포함하는 시계열 집합 |
| Scalar | 단순한 숫자 값 |
| String | 단순한 문자열 값 |