로그와 메트릭에 대해서 설명해 주세요.

2024. 12. 4. 17:14·백엔드 면접

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

 

메트릭은 시스템의 성능과 상태에 대한 통계적인 정보를 의미합니다. 메트릭을 잘 수집하면 시스템의 현재 상태를 손쉽게 파악할 수 있습니다. 예를 들어 CPU 사용량, 메모리 사용량, DB 커넥션 풀의 상태를 확인할 수 있습니다.

 


 

로그와 메트릭을 수집해 보신 적이 있나요?

직접 수집해 본 적은 없지만, 스프링 부트 액츄에이터를 사용해 메트릭을 생성하고 프로메테우스에 저장한 다음 그라파나로 시각화를 할 수 있다는 원리는 파악하고 있습니다. 

중요한 정보로서 수집할 수 있는 지표는 [CPU, 메모리, JVM 힙 사용량], [톰캣 스레드 풀과 데이터베이스 커넥션 풀 상태], [error 레벨 로그 증가량] 등이 있습니다.

 

CPU, 메모리, JVM 힙 사용량 지표를 수집함으로써 서비스가 현재 안정적으로 동작하고 있는지 파악할 수 있습니다. 

톰캣 스레드 풀과 커넥션 풀의 상태, error 레벨 로그를 수집함으로써 서버 프로그램 내부에 비정상적인 상황이 생기는 것에 신속히 대응할 수 있습니다. 

 


System.out.println을 사용하면 로깅 프레임워크는 사용하지 않아도 되지 않나요?

로그를 출력하는 경우 대기 시간이 발생하며, 로그 또한 데이터이기 때문에 저장 공간을 요구합니다. 따라서, 정말로 필요한 경우에만 로깅을 수행하는 것이 비용 측면에서 효율적입니다.

하지만, System.out.println은 로그 레벨 설정과 환경 별 필터링을 적용하기 까다롭습니다. 반면, 로깅 프레임워크는 로그 레벨 설정, 필터링 등 로그의 양 조절을 하기 위한 기능을 제공하기 때문에 이를 사용하는 것이 서비스 운영에 유리합니다.

 

'백엔드 면접' 카테고리의 다른 글

equals와 hashCode는 왜 함께 재정의해야 할까요?  (0) 2024.12.05
JPA ID 생성 전략에 대해 설명해 주세요.  (0) 2024.12.05
얕은 복사와 깊은 복사에 대해서 설명해 주세요.  (0) 2024.12.04
트랜잭션 격리 수준에 대해서 설명해 주세요.  (0) 2024.12.03
데이터베이스 인덱스에 대해서 설명해 주세요.  (0) 2024.12.02
'백엔드 면접' 카테고리의 다른 글
  • equals와 hashCode는 왜 함께 재정의해야 할까요?
  • JPA ID 생성 전략에 대해 설명해 주세요.
  • 얕은 복사와 깊은 복사에 대해서 설명해 주세요.
  • 트랜잭션 격리 수준에 대해서 설명해 주세요.
이런개발
이런개발
geun-00의 흔적 보관소
  • 이런개발
    내일이 기대되는 오늘
    이런개발
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 백엔드 면접
      • SQL N
        • SUM, MAX, MIN
        • SELECT
        • GROUP BY
        • JOIN
      • Spring
      • JPA
      • 트러블슈팅
      • Infra
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자바
    raid
    토스 페이먼츠
    스프링
    오블완
    데브코스
    JPA
    백엔드 면접
    티스토리챌린지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
이런개발
로그와 메트릭에 대해서 설명해 주세요.
상단으로

티스토리툴바