[15일차] | 대규모 시스템 설계 기초2 | 책너두

Heechan Kang·4일 전
0
post-thumbnail

5장 지표 모니터링 및 경보 시스템

1단계: 문제 이해 및 설계 범위 확정

  • 지표 및 모니터링 시스템의 의미는 회사마다 상이하다.
  • 따라서, 면접관이 원하는 정확한 요구사항을 알아내는 것이 특히 중요하다.

개략적 요구사항 및 가정

  • 대규모 인프라를 모니터링 해야 함.
    • DAU 1억 명(100 million)
    • 서버 풀 1,000개 / 풀당 100대의 서버 / 서버 당 100개의 운영 지표를 수집
      • 단위시간 당 약 천만개의 지표를 수집해야 함.
  • 데이터 보존 기간: 1년
    • 첫 7일 간 원본 데이터를 그대로 보존
    • 이후 30일간 1분 간격으로 집계 후 보존
    • 이후 1년간 1시간 간격으로 집계 후 보존
  • 모니터링할 지표의 예시
    • CPU 사용률
    • 요청수
    • 메모리 사용량
    • 메시지 큐 내의 메시지 수

비기능 요구사항

  • 규모 확장성: 지표와 경보의 양이 증가해도 시스템이 확장 가능해야 한다.
  • 낮은 응답 지연: 대시보드의 원활한 운영과, 경보의 신속한 전달을 위해 낮은 응답 지연이 요구된다.
  • 안정성: 언제라도 중요한 경보를 놓치지 않기 위해 안정성이 요구된다.
  • 유연성: 장기적인 사용을 고려하여 미래의 신기술이 쉽게 적용될 수 있어야 한다.

2단계: 개략적 설계안 제시 및 동의 구하기

  • 기본적으로 아래와 같은 컴포넌트가 필요하다.
    • 데이터 수집(data collection): 여러 출처로부터 지표 데이터를 수집한다.
    • 데이터 전송(data transmission): 수집된 지표 데이터를 모니터링 시스템으로 전송한다.
    • 데이터 저장소(data storage): 수집된 지표를 정리하고 저장한다.
    • 경보(alerting)
      • 데이터를 분석하고, 이상 징후를 감지하여 경보를 발생시킨다.
      • 다양한 통신 채널로 경보를 발송 할 수 있어야 한다.
    • 시각화(visualization): 지표를 시각화하여 사용자에게 제공한다.
profile
안녕하세요!

0개의 댓글