반응형
Prometheus란 무엇인가?
Prometheus는 SoundCloud사에서 만든 오픈소스 시스템 모니터링 및 경고 툴킷이다.
ELK와 같은 로깅이 아닌, 대상 시스템으로부터 각종 모니터링 지표를 수집, 저장하고 검색하는 시스템이다.
구조가 단순해 운영이 쉽고, 강력한 쿼리 기능을 지녔으며, 그라파나를 통한 시각화를 지원한다.
이러한 간편함 때문에 특히 쿠버네티스의 메인 모니터링 시스템으로 많이 사용되며 더욱 주목을 받고 있다.
Prometheus 아키텍쳐
대부분의 모니터링 도구는 각 서버에 클라이언트를 설치하고 이 클라이언트가 메트릭 데이터를 수집 해 서버로 보내면
서버가 모니터링 상태를 보여주는 방식인 PUSH 방식이다.
그러나 Prometheus는 Pull 방식을 사용하며, 서버에 클라이언트가 떠있으면 서버가 주기적으로 클라이언트에 접속에서 데이터를 가져오는 방식을 취한다.
- Jobs/exporters
- Prometheus에게 매트릭을 가져가도록 특정 Service에 매트릭을 노출하게 하는 Agent
- exporter는 서버 상태를 나타내는 Node exporter, SQL exporter등 다양한 커스텀 exporter가 개발되어 사용되며 이러한 exporter를 사용해 매트릭을 Prometheus에 긁어가도록 할 수 있다.
- Service discovery
- Prometheus는 기본적으로 모니터링 대상 목록을 유지하며, 대상에 대한 IP나 기타 접속 정보를 설정 파일에 주어서 모니터링 정보를 가져오는 방식을 사용한다.
- Push gateway
- Proxy Forwarding을 해서 접근할 수 없는 곳에 데이터가 존재하는 경우 사용할 수 있는 대안이다.
어플리케이션이 push gateway에 매트릭을 push 한 후 prometheus server가 pushgateway에 접근 해 매트릭을 pull하는 방식으로 동작한다.
- Proxy Forwarding을 해서 접근할 수 없는 곳에 데이터가 존재하는 경우 사용할 수 있는 대안이다.
- Alter manager
- 매트릭에 대한 어떠한 지표를 걸어놓고 그 규칙을 위반하는 사항에 대해 알람을 전송하는 역할을 한다.
- Data visualization
- 다양한 모니터링 Dashboard를 위한 visualization을 제공한다. 주로 외부 시각화 툴 및 api를 제공하는 역할을 한다.
반응형
'[Kubernetes]' 카테고리의 다른 글
sample devops end to end project v1- devops project | ci/cd declarative pipeline using devops tools (0) | 2023.07.22 |
---|---|
[마이크로 서비스] 사용하지 않는 경우!! (0) | 2023.07.11 |
[k8s] Deployments란 무엇인가? & Update 방식 (0) | 2022.11.23 |
[k8s] YAML 기본 문법 및 k8s yaml 작성방법 (0) | 2022.11.23 |
[k8s] kubernetes의 Service가 무엇인가? (0) | 2022.11.22 |
[k8s] Helm을 통해 Prometheus, Grafana 적용하기 (0) | 2022.11.22 |
[k8s] 파드란 무엇인가, 파드 만들기(명령어로 생성 및 yaml로 생성) (0) | 2022.11.21 |
[K8s] 쿠버네티스란 무엇인가? (0) | 2022.11.16 |
댓글