Diary/WIL

2024-03-31 WIL

nsean 2024. 3. 31. 23:50

모니터링의 기본적인 내용에 대한 메모

모니터링:

  • 개발자에게는 예상치 못한 실패가 발생할 수 있다.
  • 효과적인 모니터링을 통해 시스템 문제에 대한 사전 대응이 가능함.
  • 모니터링에는 CPU, 메모리, 연결, 요청 등 다양한 지표를 확인하는 작업이 포함되어있다.
  • 시스템 정보 전송을 위한 다양한 모니터링 도구가 있다.

마이크로미터:

  • 마이크로미터는 애플리케이션 메트릭 파사드(metric facade) 역할을 한다.
  • 애플리케이션 내에서 메트릭(측정 지표)을 마이크로미터가 정한 표준 방법으로 수집, 관리 및 노출하기 위한 통합 인터페이스 역할을 수행한다.
  • 표준화된 방법을 사용하여 애플리케이션 메트릭을 수집하고 제공한다.
  • 로그의 SLF4J와 유사하게 메트릭 수집을 추상화한다.
  • 개발자는 Micrometer의 표준 방법을 사용하여 측정항목을 제공하므로 구현 교체가 쉽다.
  • 지원되는 모니터링 도구에는 Prometheus, Grafana 등 다양한 플랫폼이 포함된다. 여기서 확인 가능

마이크로미터를 사용한 메트릭 수집:

  • 마이크로미터는 다양한 기능을 제공하여 지표 수집을 단순화한다.
  • Spring Boot Actuator는 Micrometer의 기능을 활용하고 자동으로 메트릭을 등록한다.
  • 개발자가 직접 지표를 수집하고 Micrometer의 표준 방법을 사용하여 등록한다.

기본 엔드포인트:

  • 기본 메트릭 엔드포인트는 http://localhost:8080/actuator/metrics에서 액세스할 수 있다.
  • 자세한 측정항목은 http://localhost:8080/actuator/metrics/{name}과 같은 패턴을 사용하여 액세스할 수 있다.
    • 예: http://localhost:8080/actuator/metrics/jvm.memory.used를 사용하여 현재 메모리 사용량을 확인한다.

태그 필터링:

  • 제공되는 태그를 통해 정보를 상세하게 분류하고 확인할 수 있다.
  • 태그에는 [heap, nonheap] 값이 있는 area와 [G1 Survivor Space, ...] 값이 있는 id가 포함된다.
  • tag=KEY:VALUE와 같은 형식을 사용하여 정보를 분류할 수 있다.