마지막 프로젝트를 진행하면서 모니터링 툴에 대해 공부한 걸 작성한 글이다.
(K-Digital Training의 하이브리드 클라우드 엔지니어 교육을 애티버스러닝에서 수강 중이다.)
아직 정리가 덜 되었다. 프로젝트를 진행하면서 내용을 계속 추가할 예정이다.
Prometheus 개념
metric을 저장하고 관리하는 오픈 소스 모니터링 툴이다.
데이터와 metric 을 저장하고 애플리케이션의 성능 및 상태 모니터링을 제공한다.
쿠버네티스의 메인 모니터링 시스템으로 많이 활용된다.
Pull 방식을 사용한다.
Pull VS Push
Pull: 서버가 필요할 때 클라이언트에 접근해서 데이터를 수집하는 방식
Push: 클라이언트가 데이터를 수집해서 서버로 보내면 서버가 모니터링 상태를 보여주는 방식
구성
1. Jobs/exporters
- Job
모니터링할 instance들을 묶어놓은 것이 Job이다.
Group은 일부만 모니터링해서 상태를 보기 위해 구분짓는 것이다.
Prometheus.yml 파일을 아래의 코드로 수정하여 설정할 수 있다.
- exporter
모니터링 대상(instances)으로부터 metric을 수집해준다.
http 통신을 통해 metric 데이터를 가져 수 있게 /metric 이라는 http endpoint를 노출시킨다.
2. Prometheus Server
Retrieval
데이터 수집을 총괄한다
설치
1. 다운로드
https://prometheus.io/download/
공식 홈페이지에서 prometheus를 다운 받는다.
2. 설정 파일 수정
3. 설정 파일 지정