모니터링 메트릭 활용

존스노우·2023년 10월 18일
0

메트릭 등록 - 예제 만들기

  • 직접 메트릭을 만들어보자 !
  • 디폴트 매트릭을 먼저만들고 비즈니스 관한 메트릭을 만들어야된다
  • 디폴트 매트릭으로만 파악할수 없는 정보들이 있기 때문에

  • 인터페이스를 먼저 만들어 준다
  • 멀티스레드환경에서 안전하게 수를 증가시킬수 있는 아토믹

  • 실행 해보자

메트릭 등록1 - 카운터

  • 마이크로 미터가 제공하는 표준 제공 방법으로 등록을 해보자

  • 매트릭을 볼때 정확한 숫자를 보자는게아니라

  • 얼마나 취소나 주문을 요청! 했는지를 보면 된다.

  • 반환된 타입이 카운터가 만들어지는 주문
  • 마지막에 인크리먼트를 넣어서 카운터를 증가시켜준다.
  • 매서드 이름으로 주문 취소를 구분한다.

  • 매트릭에서 !

  • 이런식으로 메서드로 구분
  • 그리고 최소한번은 호출을 해줘야 메트릭에 나온다.

  • 프로메테우스 포맷

  • 그나파나로 등록 신기하다
  • 쿼리는 단순 카운트는 무한히 증가하기 때문에 인크리스를 써서 어느때 폭발적으로 증가하는가로 표시했다.

메트릭 등록2 - @Counted

  • 저번 코드는 서비스에 매트릭 로직이 들어가서 그렇게 좋지 않다.

  • CountedAspect AOP가 들어 갔따

  • AOP 호출하면 클래스 명이랑 메서드 이름이 추가가 된다.

cancel

  • 시간을 측정하는 도구 실행 시간도 측정 가능하다.
  • 서버를 키고 끌때까지 최대 실행시간을 최근 1~3분 시간마다 최대 실행시간이 갱신된다.

  • 이전 코드랑 비슷하다 Timer란 도구를 이번에 썻고
  • 레코드를 위해 추가 로직을 작성했다.

  • 3가지 항목이 나온다.

  • 프로메테우스 포맷

메트릭 등록4 - @Timed

  • 이전 방법에비해 간편해진 기능

  • 잘 뜬다

매트릭 등록 5 - 게이지

  • 현재 상태 값을 본다?

  • 측정을 할때마다 메트릭 ,프로메테우스 호출 될때마다 Init 함수가 호출된다.
  • 카운터는 요청올때마다 집어넣는대
  • 게이지는 현재상태를 봐야되니 매트릭에서 요청와을때 현재 상태를 보는거다

  • 프로메테우스가 1초에 한번씩 promethus 경로를 호출하니 로그가 계속 쌓임

  • 주문 할 수록 줄어 드는 게이지

  • 코드를 더 단순하게

정리

  • 팁 고객요청 로그추적할때 Uuid 하나넣어줘서 아 같은요청이구나 파악가능
profile
어제의 나보다 한걸음 더

0개의 댓글