본문 바로가기

좋아하는 것_매직IT/10.microservice

20.마이크로서비스, 프로메테우스를 이용한 모니터링에 대해서 알아보자.

반응형

프로메테우스란 ?

  • 시스템 모니터링 및 Alert을 위한 툴킷으로서 경고 문자와 그래프 계산을 지원함.
  • 다차원 데이터베이스를 사용하면 모든 마이크로서비스의 모든 인스턴스에 대한 메트릭을 캡쳐한 다음 특정 타입의 마이크로서비스에 대해 합산가능함.  
  • 참고페이지 : http://prometheus.io

  

기능 및 특성

  • 다차원 데이터 모델을 지원함.
  • 많은 모니터링 솔루션은 모니터링될 시스템 메트릭을 모니터링 시슷템에 저장할 것을 요구함(Push 모델). 그러나 프로메테우스는 풀(Pull) 모델을 가지고 있어서 지정된 간격으로 모니터링되는 시스템의 HTTP 엔드포인트에 데이터를 수집함.
  • Alert Manager는 쿼리를 기반으로 경고 문자를 보내고, 이메일등등 경고 메시지를 보낼 수 있음.
  • 참고페이지 : https://prometheus.io/docs/ing/manager  
  • 대시보드를 통해 사용자는 쿼리를 실행할 수 있으며, 결과를 시각적으로 표시할 수 있음.
  • 프로메테우스는 데이터를 폴링하는 방식을 사용해 과부하로부터 보호함.

예시

설정

  • 프로메테우스 설정 문서 페이지를 참고함.
  • 환경설명은 보통 YAML 포멧으로 쓰여져 있음. 
    • ex) prometheus.yml

  • 주요 컨피그 설명
    • global 
      • 전체 프로메테우스 시스템에 영향을 주는 설정을 포함함.
    • scrape_interval
      • 모니터링될 마이크로서비스("scraping")의 매트릭 수집주기를 설정함.
    • scrape_configs
      • 작업을 정의함. 프로메테우스가 저장 및 처리에 대한 메트릭을 수집하는 설정.
    • job_name 
      • 작업의 이름
    • metrics_path
      • 디폴트 값 : /metrics

   

결론

  • 모니터링은 모든 마이크로서비스의 필수 요소이지만 많은 서비스를 모니터링한다는 것은 까다로운일임.
  • 마이크로서비스 시스템에서 중앙 모니터링을 반드시 고려해야 함.
  • 마이크로서비스 환경에서 모니터링 툴로 사용되는 프로메테우스는 다차원 모델을 통해 원시 메트릭을 특정 마이크로서비스의 모든 인스턴스의 동작을 나타내는 매트릭과 결합해 사용자의 관점에서 메트릭을 사용할 수 있다는 장점이 있음.
  • 프로메테우스의 대안으로는 서비스 시스템의 모니터링을 지원하는 솔루션을 쓰거나, 다른 기술도 사용가능함. 
    • TICK 스택 등등     
      • 참고) TICK 스택이란?
        • 참고페이지 : https://www.influxdata.com/time-series-platform/
          • Telefraf : 데이터를 수집해 전달하는 기능.
          • InfluxDB : 시계열 데이터베이스
          • Chronograf : 시각화와 분석을 제공함.
          • Kapacitor : 경고 문자와 비정상 행위 탐지를 처리함.

 


  • 금일의 한마디 명언
    • 타고난 본성은 서로 비슷하지만 습관이 차이를 만든다. -공자 『논어 』
      • 성상근야, 습성원야(性相近也 習相遠也)
728x90
300x250