본문 바로가기
Back-End

로그와 메트릭

by 코젼 2025. 3. 11.
728x90
반응형

로그

  • 서버가 동작할 때 서버의 상태동작 정보시간 경과에 따라 기록된 결과이다.
  • 시스템의 오류와 문제들을 쉽게 찾아낼 수 있도록 도와준다.

메트릭

  • 반면, 메트릭은 시스템의 성능상태에 대한 통계적인 정보를 의미한다.
  • 메트릭을 잘 수집하면 시스템의 현재 상태를 손쉽게 파악할 수 있고, 사업 현황에 관한 유용한 정보를 얻을 수 있다.
  • 가령, 메트릭은 DAU, Retension, CPU 사용량, 메모리 사용량 등이 있습니다.

수집 경험 예시

스프링 부트 액추에이터를 사용해 메트릭을 생성하고 프로메테우스에 저장한 다음 그라파나로 시각화한 경험

  • 로깅 LogBack 사용
  • Grafana Loki 에 7일동안 보관하도록 설정
  • 로그 추적을 위해 MDC 사용

수집한 지표 및 해당 메트릭 수집 이유

  • CPU, 메모리, JVM 힙 사용량
    • 서비스가 현재 안정적으로 동작하고 있는지 파악하기 위함
  • 톰캣 스레드 풀과 데이터베이스 커넥션 풀 상태
  • error 레벨 로그 증가량
    • 서버 프로그램 내부에 비정상적인 상황이 생기는 것을 신속히 대응하기 위함

System.out.println 을 사용하지 않고 로깅 프레임워크를 사용한 이유

  • 로그를 출력하는 경우 대기 시간이 발생한다.
  • 로그 또한 데이터이기 때문에 저장 공간을 요구한다.
  • 따라서, 정말로 필요한 경우에만 로깅을 수행하는 것이 비용 효율적입니다.
  • System.out.println은 로그 레벨 설정환경 별 필터링을 적용하기 까다롭습니다.
  • 반면, 로깅 프레임워크로그 레벨 설정, 필터링 등 로그의 양 조절을 하기 위한 기능을 제공하기 때문에 이를 사용하는 것이 서비스 운영유리합니다.
728x90
반응형

댓글