-
[Kubernetes | Monitoring] Prometheus 01Kubernetes/Monitoring 2021. 5. 17. 15:01
모니터링 모듈 중 하나인 Prometheus에 관해 정리하는 시간을 가져 보겠습니다.
프로메테우스의 사전적 정의는 검색하면 많이 나오는거 아시죠~? 저는 좀 더 직관적인 개념을 정리해보겠습니다!
프로메테우스의 데이터는 어떤 원리로 쌓이는가?
- node-exporter
프로메테우스는 어떤 방식으로 데이터를 수집해오는지 알아보겠습니다.
우선 프로메테우스 설치를 마치고 나면 다음과 같이 node-exporter라는 pod들이 각 노드에 뜨게 됩니다.
node-exporter는 Metric 데이터를 수집할 수 있게 해줍니다.(node-exporter는 daemonset형태이기 때문에 모든 노드에 뜹니다!)
- checkpoint
prometheus 파드내에 접속하여 /prometheus/wal 디렉토리 내에 checkpoint가 쌓여있는 것을 확인하실 수 있습니다.
checkpoint는 기본적으로 1d,2d,3d 이런식으로 압축률을 높혀가면서 동작합니다.
예를 들어 30d일 경우에, 1분마다 다 저장하면 엄청 용량이 커져서 그것을 1시간 단위라던가 하루 단위라던가 이런식으로 기간이 길어지면서 압축률을 높힙니다. 그러한 checkpoint를 만들 때 필요한 파일들이 /prometheus/wal 디렉토리안의 파일들입니다. 스토리지가 꽉차면 자동으로 압축하고 이전 데이터를 버리는 형식입니다.
만약 prometheus에 문제가 생긴다면 저 checkpoint가 언제 마지막으로 생성되었는지 봐주시면 될 것 같습니다.
- promethus의 스토리지
프로메테우스의 데이터는 pvc에 저장해두고 가져오는 방식입니다. 즉 pvc에 문제가 생기면 프로메테우스 자체에도 문제가 생기게 됩니다. 프로메테우스는 계속하여 데이터를 주기별로 압축하고, 새로 체크포인트를 쌓고 데이터를 버려야하는데 스토리지가 망가지면 이를 수행할 수 없기 때문입니다.
요번 시간은 이정도로만 정리하고 다음번엔 좀 더 딥하게 정리할 수 있도록 공부해보겠습니다~!
'Kubernetes > Monitoring' 카테고리의 다른 글
[Kubernetes | Monitoring] Grafana 권한 관리 (0) 2021.09.13