스프링 부트(핵심 원리와 활용)

Ch08. 마이크로미터, 프로메테우스, 그라파나 - 프로메테우스(기본 기능)

webmaster 2023. 5. 5. 13:53
728x90

이번에는 프로메테우스를 사용하는데 필요한 간단한 기능들을 알아보자.
검색창에 http_server_requests_seconds_count를 입력하고 실행해 보자

  • 태그, 레이블: error , exception , instance , job , method , outcome , status , uri 는 각각의 메트릭 정보를 구분해서 사용하기 위한 태그이다. 마이크로미터에서는 이것을 태그(Tag)라 하고, 프로메테우스에서는 레이블(Label)이라 한다. 여기서는 둘을 구분하지 않고 사용하겠다.
  • 숫자: 끝에 마지막에 보면 1 , 924 와 같은 숫자가 보인다. 이 숫자가 바로 해당 메트릭의 값이다.

기본 기능

  • Table Evaluation time 을 수정해서 과거 시간 조회 가능
  • Graph 메트릭을 그래프로 조회 가능

필터

레이블을 기준으로 필터를 사용할 수 있다. 필터는 중괄호( {} ) 문법을 사용한다.

레이블 일치 연산자

  • = 제공된 문자열과 정확히 동일한 레이블 선택
  • != 제공된 문자열과 같지 않은 레이블 선택
  • =~ 제공된 문자열과 정규식 일치하는 레이블 선택
  • !~ 제공된 문자열과 정규식 일치하지 않는 레이블 선택

예)

  • uri=/log , method=GET 조건으로 필터
    • http_server_requests_seconds_count{uri="/log", method="GET"}
  • /actuator/prometheus 는 제외한 조건으로 필터
    • http_server_requests_seconds_count{uri!="/actuator/prometheus"}
  • method GET , POST 인 경우를 포함해서 필터
    • http_server_requests_seconds_count{method=~"GET|POST"}
  • /actuator 로 시작하는 uri 는 제외한 조건으로 필터
    • http_server_requests_seconds_count{uri!~"/actuator.*"}

연산자 쿼리와 함수

  • + (덧셈)
  • - (빼기)
  • * (곱셈)
  • / (분할)
  • % (모듈로)
  • ^ (승수/지수)

sum: 값의 합계를 구한다.

sum by: sum by(method, status)(http_server_requests_seconds_count), SQL Group By와 비슷

count: count(http_server_requests_seconds_count), 메트릭 자체 수

topk: topk(3, http_server_requests_seconds_count), 상위 3개 메트릭 조회

오프셋 수정자: http_server_requests_seconds_count offset 10m, 현재를 기준으로 특정 과거 시점의 데이터를 반환한다.

범위 벡터 선택기: http_server_requests_seconds_count [1m],마지막에 [1m] , [60s]와 같이 표현한다. 지난 1분간의 모든 기록값을 선택한다.
->참고로 범위 벡터 선택기는 차트에 바로 표현할 수 없다. 데이터로는 확인할 수 있다. 범위 벡터 선택의 결과를 차트에 표현하기 위해서는 약간의 가공이 필요한데, 조금 뒤에 설명하는 상대적인 증가 확인 방법을 참고하자.



 

 

 
728x90