DevOps 자동화 이해하기 2 (Metric 기반 데이터 분석)

manopickax·2023년 6월 4일

AWS_OSS_EDU

목록 보기
3/3
post-thumbnail
작가 starline 출처 Freepik

AWS시리즈의 목적은 클라우드와 DevOps를 이해하는 것 입니다.

이번 게시글에서는 DevOps의 자동화와 Druid에 대해 이해 하겠습니다.

DevOps의 시작점

  • 각 시스템은 다양한 로그들의 수집을 통하여 현황을 확인
  • 문제가 생겼을 때 취해야 하는 조치는 대게 일관되어 있음

수집 가능한 DevOps 관련 데이터

  • Syslog
    - Syslog는 운영 체제(OS)와 관련된 이벤트 및 정보를 기록하는 로그 이다.
  • Applog
    - Applog는 애플리케이션의 동작, 사용자 요청, 오류 및 예외, 퍼포먼스 지표 등을 기록하는 로그 이다.
  • Userlog
    - Userlog는 사용자의 행동, 세션 정보, 로그인 기록, 거래 내역 등 애플리케이션의 사용자 활동과 관련된 로그 이다.

기준 마련에 활용가능한 방법

  • Rule-based
    • 정해진 기준에 따라서 기준을 생성 ex) CPU 80% 이상 사용 등
  • Pattern based
    • 특정패턴에 따라서 기준을 생성 ex) 지난 1개월 평균 대비 10% 이상
  • ML based
    • 머신러닝 수행을 통해 모델을 만들어 기준을 생성



Prometheus

메트릭 수집, 시각화, 알림, 서비스 디스커버리 기능을 모두 가지고 있는 CNCF에 속한 오픈소스 모니터링 툴

Prometheus의 아키텍쳐는 아래와 같이 구성되어 있다.

출처 교육 피피티 발췌

Datadog

Datadog은 서버, 데이터베이스, 클라우드 서비스 등에 대한 다양한 모니터링 서비스를 제공하는 클라우드 모니터링 애플리케이션

출처 교육 피피티 발췌

Apache Druid

시간 데이터 분석을 위해 설계된 고성능 분산 데이터베이스이다. 대량의 데이터를 실시간으로 수집, 저장 및 쿼리할 수 있으며, 사용자는 데이터를 빠르게 분석할 수 있음

출처 교육 피피티 발췌

Druid를 활용한 Metric 기반 Alert 생성

아파치 드루이드는 기존의 데이터 처리 및 쿼리에 대한 관념을 180도 바꿔주는 OLAP 데이터베이스이다. OLAP란 Online Analytical Processing의 약자로써 사용자가 적재한 데이터를 다양한 방식(다차원)으로 적재하고 분석하도록 도와주는 시스템을 뜻한다. 다차원 정보라는 것은 기존에 1차원 정보(row단위)를 몇개의 필드들(드루이드에서는 디멘젼)을 사용하여 지표들(메트릭)으로 만들어 보여주는 것이다.

Apache Druid는 이러한 다차원 데이터를 빠른 쿼리속도를 제공하기 위해 세그먼트 단위로 데이터를 인덱스하여 저장한다. 이렇게 세그먼트를 만드는 것은 지정한 시간(time interval) 단위 이고 쿼리를 수행할 때가 아니라 데이터를 적재할때 함께 인덱싱한다.

  • 전통적인 데이터베이스 : 데이터 적재 -> 쿼리 -> 프로세싱 -> 결과 확인

  • 아파치 드루이드 : 데이터 적재 -> 프로세싱(인덱싱) -> 쿼리 -> 결과 확인

profile
땅굴파기

0개의 댓글