매트릭(metric)
시스템이나 애플리케이션의 성능, 상태, 동작 등을 측정하고 평가하기 위한 정량적인 데이터 포인트를 의미한다.
매트릭은 관찰 가능한 데이터의 단위를 표현하며, 이를 통해 시스템의 건강 상태를 모니터링하고, 성능을 분석하며, 문제를 진단할 수 있다.
매트릭의 주요 개념
- 데이터 포인트(Data Point)
매트릭은 시간에 따른 연속적인 데이터 포인트틀의 집합으로써, 각 데이터 포인트는 특정 시점에 측정된 값을 나타낸다.
ex) CPU usage metric은 매 10s 마다 측정된 CPU usage(예시: 20%, 35%)를 데이터 포인트로 기록한다. - 타임 시리즈(Time Series)
타임 시리즈는 시간에 따라 측정된 데이터 포인트들의 연속적인 집합이다.
ex) "5분 동안의 메모리 사용량"과 같은 매트릭은 5분 동안 여러 개의 데이터 포인트로 구성된 타임 시리즈를 형성한다. - 라벨(Label)
매트릭은 라벨(key-value 쌍)을 가질 수 있고, 라벨은 매트릭을 더 구체적으로 분류하거나 필터링하는 데 사용된다.
ex) HTTP 요청 매트릭은 `method="GET"`, `status="200"`과 같은 라벨을 가질 수 있고, 이를 통해 성공적인 GET 요청만 필터링 할 수 있다.
매트릭의 유형
- Counter
증가만 가능한 매트릭, 주로 이벤트의 총 횟수를 세는 데 사용됨
ex) 웹 서버에 대한 총 요청 수 - Gauge
증가 및 감소가 가능한 매트릭, 현재 상태나 값을 나타냄
ex) 현재 메모리 사용량이나 온도 출력 - Histogram
값의 분포를 관찰하는 데 사용되는 매트릭, 특정 값 범위(버킷)에 속하는 데이터 포인트 수를 기록함
ex) 요청 응답 시간을 시간 구간별로 기록 - Summary
백분위수(percentiles)를 계산하여 매트릭의 분포를 요약하는 데 사용됨
ex) 특정 백분위수(95%의 요청이 100ms 이하로 응답되었음)를 측정할 수 있음
커스텀 매트릭(Custom metrics)
사용자가 애플리케이션의 상태, 성능 또는 동작을 모니터링 하기 위해 직접 정의한 매트릭을 말한다.
매트릭 노출 (Exposing Metrics)
애플리케이션이 HTTP 엔드포인트를 통해 매트릭을 노출한다.
Prometheus의 경우, 주기적으로 이 엔드포인트를 스크랩하여 매트릭 데이터를 수집한다.
(일반적으로 `/metrics`경로를 사용하여 매트릭을 노출, 애플리케이션 코드 내에서 라이브러리를 통해 쉽게 구현 가능)
Grafana의 Home - Explore에서 `up`이라는 매트릭을 통해 Prometheus의 가동 여부를 확인할 수 있다.
'🌥️Cloud Study🌥️ > Etc' 카테고리의 다른 글
[ Prometheus ] 프로메테우스 설치 및 서비스 설정 (0) | 2024.08.09 |
---|---|
[ 모니터링 ] 인스턴스 정지 감지를 위한 Prometheus 설정 (0) | 2024.08.09 |
[ Grafana ] status fail 오류 해결 (0) | 2024.08.09 |
[ Network ] Cisco OS 알아보기 (0) | 2024.08.02 |
[ Network ] 호스트간 통신 살펴보기 (중간 부분 수정하기) (0) | 2024.08.02 |