ETC

그라파나와 프로메테우스

D_Helloper 2023. 6. 18. 15:26

프로메테우스는 데이터 수집과 통합 도구

그라파나는 데이터 시각화 도구

위 두 가지를 사용하여 시스템 모니터링 환경을 구축할 수 있음

프로메테우스(Prometheus)

  • 시계열 DB를 내장하고 있음
  • 중앙 서버에서 에이전트를 통해 노드와 컨테이너 상태를 모두 수집
  • 내부 메트릭을 외부로 노출하기 때문에, 사용자가 수집 대상에 접속할 수 있다면 개인 컴퓨터에서도 메트릭을 가져올 수 있음
💡 메트릭이란? 현재 시스템의 상태를 알 수 있는 측정 값 시스템 매트릭(System Metric) : CPU와 메모리 사용량 표시 서비스 메트릭(Service Metric) : HTTP 상태 코드와 같은 상태 표시
 💡 시계열 데이터베이스란? 시간을 축으로, 시간의 흐름에 따라 발생하는 데이터를 저장하는데 최적화 된 데이터베이스 센서 값, 패킷, 이벤트 로그 등이 있음

 

그라파나(Grafana)

  • 주로 시계열 데이터 시각화에 많이 쓰임, 관계형 데이터베이스 데이터를 표 형태로 시각화해 사용할 수도 있음
  • 기능을 확장하는 플러그인과 개별 사용자들이 만들어 둔 대시보드의 공유가 매우 활발

시스템 구조

  • 프로메테우스는 데이터를 저장하는 데이터베이스와 Backend의 역할을 함
  • 그라파나는 프로메테우스에 쿼리를 날려 데이터를 가져옴, Frontend의 역할을 함

구성 요소

프로메테우스 서버(Prometheus-Server)

  • 노드 익스포터 외 여러 대상에서 공개된 메트릭을 수집해오는 수집기
  • 수집한 시계열 메트릭 데이터를 저장하는 시계열 데이터베이스
  • 저장된 데이터를 질의하거나 수집 대상의 상태를 호가인할 수 있는 웹 UI
  • 프로메테우스의 수집기는 서비스 디스커버리(Service Discovery) 방식으로 데이터 수집

노드 익스포터(Node-Exporter)

  • 노드의 시스템 메트릭 정보를 HTTP로 공개하는 역할 수행
  • 설치된 노드에서 특정 파일들을 읽고, 이를 프로메테우스 서버가 수집할 수 있는 메트릭 데이터로 변환한 후에 노드 익스포터에서 HTTP 서버로 공개

쿠버 스테이트 메트릭(Kube-State-Metrics)

  • API 서버로 쿠버네티스 클러스터의 여러 메트릭을 수집 후 프로메테우스가 수집할 수 있는 형태로 변환

얼럿 매니저(Alerts Manager)

  • 프로메테우스에 알림 규칙을 설정하고, 알림 이벤트가 발생하면 설정된 메시지를 전달

푸시 게이트웨이(Push Gateway)

  • 배치와 스케줄 작업 시 수행되는 일회성 작업들의 상태를 저장하고 모아서 프로메테우스가 주기적으로 가져갈 수 있도록 공개
  • 일반적으로 짧은 시간 동안 실행되고 종료되는 배치성 프로그램의 메트릭을 저장하거나 외부망에서 접근할 수 없는 내부 시스템의 메트릭을 프록시 형태로 제공