1. Prometheus
- Prometheus : 모니터링 & 알람 프로그램 ( 오픈소스 )
- 쿠버네티스에 주로 사용하나, 종속적이진 않음.
- 수집하는 metric데이터를 다차원의 시계열 데이터 형태로 저장
- 자체언어 PromQL 언어 사용해야함.
- timeSeries DB 지원
- server가 직접 정보를 가져가는 pull 방식 !!
- 다양한 시각화툴과 연동지원, 다양한 알람 지원
Prometheus Server
- 시계열 데이터를 수집하고 저장
Service Discovery
Exporter
- prometheus가 metrics를 수집해 갈 수 있도록 정해진 HTTP Endpoint를 제공하여 정해진 형태로 metrucs를 export
- prometheus Server 가 이 exporter의 endpoint로 HTTP GET Request를 보내 metrics를 pull하여 저장한다.
- 하지만, 이런 pull 방식은 수집 주기와 네트워크 단절 등의 이유로 모든 metrics데이터를 수집하는 것을 보장할 수 없기 때문에 push방식을 위한 pushgateway 제공
Pushgateway
- 보통 prometheus server의 pull 주기 보다 짧은 lifecycle을 지니니 작업의 metrics 수집 보장을 위함
Alertmanager
- PromQL을 사용해 특정 조건문을 만들고, 해당 조건문이 만족되면 정해진 방식으로 정해진 메시지를 보낼 수 있음
PromQL
- prometheus가 저장한 데이터 중 원하는 정보만 가져오기 위한 query Language 제공
- time Series Data 이며, multi-Dimensional Data이기 때문에 처음 보면 다소 복잡할 수 있으나 prometheus 및 grafana를 잘 사용하기 위해서는 어느 정도 익혀두어야함.
2. Grafana
- Prometheus 와 항상 함꼐 연동되는 시각화 툴
- Prometheus 자체 UI도 있고 API 제공을 하기에 직접 시각화 대시보드를 구성할 수 도 있음.
- 쿠버네티스에 종석적이지는 않고 docker 로 쉽게 설치 할 수 있지만, 여러 datasource와의 연동성이 뛰어나고 특히 prometheus와의 연동이 뛰어나 함께 발전
Grafana DashBoard 모범사례
google에서 제시한 전통 SW모니터링을 위한 4가지 황금 지표
- Latency : 사용자가 요청 후 응답을 받기까지 걸리느느 시간
- Traffic : 시스템이 처리해야 하는 총 부하
- Errors : 사용자의 요청 중 실패한 비율
- Saturation : 시스템의 포화 상태
반응형
'Infra > MLops' 카테고리의 다른 글
[GitLab] gitLab에 프로젝트 올리기 (0) | 2022.01.25 |
---|---|
1!!!!![jenkins][Gitlab] flask project cicd _ 1 (0) | 2022.01.25 |
[workflows]Github Actions과 jenkins (0) | 2022.01.25 |
[Docker][Flask]flask web docker image,container만들어 배포하기. (0) | 2022.01.20 |
????[MLops][Flask] ml model serving 구현하기_(1) (0) | 2022.01.20 |