[Back-End] 로그와 메트릭에 대해 설명해봐라!

2024. 12. 19. 23:57·Back-end
목차
  1. 로그
  2. 메트릭
  3. 로그와 메트릭을 수집해본 적이 있는가?
  4. SYstem.out.println을 사용하면 아노디는 이유
반응형

매일메일에서 온 두 번째 메일 포스팅이다.

 

로그와 메트릭을 설명해주세요.

 

로그는 말 그대로 서버의 상태나 동작 정보를 시간에 따라 기록한 것이고, 메트릭은 상태 지표에 대한 기준이라고 알고 있다.

흠 정확하게 얘기하기가 힘든거 보니 완벽하게 정리할 필요가 있을 것 같다.

 

로그

로그는 서버가 동작할 때 서버의 상태와 동작 정보를 시간 경과에 따라 기록된 결과.

시스템의 오류와 문제들을 쉽게 찾아낼 수 있도록 도와줌.

 

메트릭

  • 시스템의 성능과 상태에 대한 통계적인 정보
  • 시스템의 현재 상태를 손쉽게 파악할 수 있고, 사업 현황에 관한 유용한 정보를 얻을 수 있다.
  • 예시
    • DAU
    • REtension
    • CPU Utilization
    • Memory Utilization

 

로그와 메트릭을 수집해본 적이 있는가?

위 질문에 로그를 보기는 했지, 수집해본 적은 없었던 것 같다.

 

Spring Boot Actuator를 사용해 메트릭을 생성하고 프로메테우스에 저장한 다음 그라파나로 시각화하는 방법을 통해 로그를 손쉽게 볼 수 있다.

 

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

로깅 방식

  • Logback 사용
  • Loki에 7일동안 보관하게 설정
  • MDC 사용 (로그 추적)

 

SYstem.out.println을 사용하면 아노디는 이유

로그를 출력하는 경우 대기 시간이 발생한다. 그리고, 로그 또한 데이터이기 때문에 저장 공간을 요구한다.

따라서, 정말로 필요한 경우에만 로깅을 수행하는 것이 비용 효율적이다.

 

하지만, System.out.println은 로그 레벨 설정과 환경 별 필터링을 적용하기 까다롭다.

 

반면, 로깅 프레임워크는 로그 레벨 설정, 필터링 등 로그의 양 조절을 하기 위한 기능을 제공하기 때문에 이를 사용하는 것이 서비스 운영에 유리하다고 한다!

 

 

반응형

'Back-end' 카테고리의 다른 글

[Back-End] DBMS에서 동시성을 제어하는 방법  (0) 2025.01.08
[Back-End] 웹사이트에 처음 접근했을 때 발생하는 일련의 과정  (2) 2025.01.07
[Back-End] 스레드, 프로세스, 코어의 수는 많을수록 좋을까요?  (3) 2025.01.02
[Back-End] Shared Lock과 Exclusive Lock 이란?  (0) 2024.12.31
[Back-End] Sync와 Async 그리고 Blocking와 Non-Blocking?  (2) 2024.12.30
  1. 로그
  2. 메트릭
  3. 로그와 메트릭을 수집해본 적이 있는가?
  4. SYstem.out.println을 사용하면 아노디는 이유
'Back-end' 카테고리의 다른 글
  • [Back-End] 웹사이트에 처음 접근했을 때 발생하는 일련의 과정
  • [Back-End] 스레드, 프로세스, 코어의 수는 많을수록 좋을까요?
  • [Back-End] Shared Lock과 Exclusive Lock 이란?
  • [Back-End] Sync와 Async 그리고 Blocking와 Non-Blocking?
류건
류건
개발 일지
  • 류건
    건's Dev
    류건
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • Back-end (55)
        • Spring (30)
        • Nest.js (3)
        • Next.js (2)
        • Node.js (3)
      • Infra & Cloud (20)
        • Cloud Computing (6)
        • Docker (3)
        • AWS (7)
      • Java (2)
      • Computer Science (12)
        • Computer Network (0)
        • Operating System (0)
        • 정보 보호와 시스템 보안 (12)
      • 회고록 (1)
        • 우아한테크코스 (3)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    db
    express.js
    어노테이션
    CI/CD
    Nest.js
    JPA
    ssl
    aws
    보안
    CORS
    고가용성
    public key
    Spring Boot
    EC2
    Github Actions
    ddl-auto
    오블완
    https
    node.js
    정보보호
    nginx
    JWT
    Spring
    티스토리챌린지
    Docker
    Webflux
    Lock
    Kafka
    WebClient
    CD
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.0
류건
[Back-End] 로그와 메트릭에 대해 설명해봐라!
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.