[Prometheus] Label & Metrics

Younghwan Cha·2023년 4월 14일
0

prometheus

목록 보기
3/5
post-thumbnail

Label

label 은 key-value 쌍으로 이루어져 있으며, Prometheus가 시계열 데이터를 식별하는데 "metric 이름"과 더불어서 사용한다.
Prometheus는 보통 상태 코드의 값에 대한 metrics를 다음과 같이 수집한다.

http_request{ status_code="200" }
http_request{ status_code="201" }
http_request{ status_code="301" }
http_request{ status_code="404" }
http_request{ status_code="400" }
http_request{ status_code="500" }

여기서 http_request가 metrics 이름이고, status_code가 Label이다. 위의 6개의 시계열 데이터는 각각 다른 데이터라고 보면 된다.
label 이 강력한 이유는, 이를 통해서 metrics 에 대한 집계를 할 수 있기 때문이다.

sum(rate(http_request{status_code=~"2.."}[5m]))

위와 같은 집계 함수를 통해서 status_code 가 2xx 인 모든 데이터를 집계 할 수 있다.

Metrics Type

  • Counter
    누적 메트릭 타입 Scrape이 실패하더라도 누적된 내용만 보고 싶을 때 사용한다.
    하지만 인스턴스의 재시작 등을 카운터가 초기화되면 Counter는 0부터 다시 시작된다.
  • Gauge
    스냅숏 하는 메트릭임. 실시간 메트릭에 유용하며, CPU 실세 사용량, DB 활성 유저수 같은 곳에 사용된다.
    그때 당시의 값을 가져오므로 시스템의 문제가 발생할 시 데이터가 끊어지는 속성이 있다.
  • Summary
    히스토그램과 유사하지만 정확한 계산 비용이 발생하며
    분위수 단위에 계산값을 볼 때 사용한다.
  • Histogram
    버킷단위로 그룹화하여 구간별 데이터의 특화되어있다.
    히트맵이나, 구간별 분포 같은 그래프를 그릴 때 사용한다
profile
개발 기록

0개의 댓글