스터디/[가상면접 사례로 배우는 대규모 시스템 설계 기초2]

[가상면접 사례로 배우는 대규모 시스템 설계 기초2] 5장. 지표 모니터링 및 경보 시스템 - 3단계

ttoance 2025. 8. 9. 01:16
반응형
3단계 : 상세 설계

지표 수집

  • 폴 vs 푸시 모델
    • 폴모델 
      • 이 접근법에서 지표 수집기는 데이터 가져올 서비스 목록을 알아야 한다. 
        • 서버가 수시로 추가/삭제되는 대규모 운영 환경에서는 적용하기 어렵다. 
        • etcd나 아파치 주키퍼 같은 서비스 탐색 기술 활용하면 이 문제는 해결할 수 있다. 
        • 각 서비스는 자신의 가용성 관련 정보를 서비스 탐색 서비스(이하 Service DisCovery System) 에 기록되고, SDS 서비스 엔드포인트 목록에 변화가 생길 때마다 지표 수집기에 통보한다. 
      • 수천 대 서버가 만들어 내는 지표 데이터를 수집하려면 지표 수집기 한대로는 부족하다. 
        • 지표 수집기 서버 폴을 만들어야 본 설계안에서 다루는 지표 데이터 규모를 감당할 수 있다. 
        • 지표 수집기 서버를 여러 대 둘 때 데이터를 중복해서 가져올 가능성이 있는데, 이때 중재 매커니즘이 존재해야 한다. 
          • 안정 해시 링을 사용해 해ㅣ 링 구간마다 해당 구간에 속한 서버로부터 생산되는 지표의 수집을 담당하는 수집기 서버를 지정하면 된다.  
    • 푸시 모델 
      • 모니터링 대상 서버에 통상 수집 에이전트라고 부르는 소프트웨어를 설치한다. 
      • 에이전트가 위치한 서버 클러스터가 자동 규모 확장이 가능하도록 설정되어 있다면 서버가 동적으로 추가되거나 삭제되는 과정에서 해당 데이터는 소실될 수 있다.  
  • 장단점 비교 
    • 폴 모델을 체택한 유명한 사례로는 프로메테우스가 있다. 
    • 푸시 모델을 채택한 유명한 사례로는 아마존 클라우드와치, 그래파이트 등이 있다. 

 

 

지표 전송 파이프라인의 규모 확장 

    •  
  • 폴 모델과 푸시 모델 가운데 무엇을 채택할지 여부에 관계없이, 지표 수집기는 서버 클러스터 형태이며 엄청난 양의 데이터를 받아 처리해야 한다. 
  • 시계열 데이터베이스에 장애가 생기면 데이터 손실이 발생할 가능성이 있고, 이때 큐를 두면 그런 문제를 해소할 수 있따. 
    • (장점) 카프카는 고도로 안정적이고 규모 확장성이 뛰어난 분산 메시지 플랫폼이다.  
    • (장점) 데이터 수집 컴포넌트와 처리 컴포넌트 사이의 결합도를 낮춘다. 
    • (장점) 데이터베이스에 장애가 생겨도 데이터는 소실되지 않는다. 카프카에 보관해 두면 되기 때문이다.
  • 카프카를 통한 규모 확장 
    • 대역폭 요구사항에 따라 파티션의 수를 설정한다. 
    • 지표 이름에 따라 어떤 지표를 어느 파티션에 배치할지 결정하면 소비자는 지표 이름에 따라 데이터를 집계할 수 있다. 
    • 태그/레이블에 따라 지표 데이터를 더욱 세분화된 파티션으로 나눈다. 
    • 중요 지표가 먼저 처리될 수 있도록 지표를 분류하고 우선순위를 지정한다. 

 

 

질의 서비스

  • 질의 서비스는 질의 서버 클러스터 형태로 구현되며, 시각하 또는 경보 시스템에 접수된 요청을 시계열 데이터베이스를 통해 처리하는 역할을 담당한다. 
  • 이런 질의 처리 전담 서비스를 두면 클라이언트와 시계열 데이터베이스 사이의 결합도를 낮출 수 있다. 

 

 

저장소 계층

  • 저장 용량 최적화 
    • 데이터 인코딩 및 압축 
    • 다운샘플링 : 데이터의 해상도를 낮춰 저장소 요구량을 줄이는 기법이다. 
      • ex, 7일 이내 데이터 - 샘플링 적용하지 않는다.
      • 30일 이내 데이터 - 1분 해상도로 낮춰 보관한다. 
      • 1년 이내 데이터 - 1시간 해상도로 낮춰 보관한다. 

 

 

4단계 : 마무리 

 

 

#모니터링시스템 #시계열데이터 #Pull모델 #Push모델 #Kafka파이프라인 #InfluxDB #Prometheus #데이터수집기 #다운샘플링 #서비스디스커버리 #지표시각화 #경보시스템 #DevOps아키텍처 #백엔드인프라 #운영자동화 #데이터압축 #QueryLayer #분산아키텍처 #실시간모니터링 #시스템설계

반응형