Prometheus 주요 컴포넌트
Prometheus는 오픈 소스 모니터링 시스템임.
시스템과 서비스의 모니터링 및 경고를 위해 널리 사용됨.
주로 시계열 데이터를 수집, 저장, 처리하는 데 사용됨.
다양한 컴포넌트로 구성돼 있음.
1. Prometheus 서버
1.1 데이터 수집 (Scraping)
Prometheus 서버는 구성된 대상 (주로 HTTP 엔드포인트)에서 메트릭을 주기적으로 스크랩함.
이 메트릭들은 주로 Prometheus 자체의 형식으로 제공되는 시계열 데이터임.
1.2 데이터 저장
수집된 데이터는 로컬 스토리지에 시계열 데이터베이스 형태로 저장됨.
이 데이터는 효율적인 검색과 빠른 데이터 접근을 위해 시계열로 구성됨.
1.3 쿼리 처리
사용자는 Prometheus의 쿼리 언어인 PromQL을 사용하여 저장된 데이터를 쿼리할 수 있음.
이 언어는 시계열 데이터에 특화된 기능을 제공함.
2. Alertmanager
2.1 경고 관리
Prometheus는 조건에 따라 경고를 생성할 수 있음.
생성된 경고는 Alertmanager로 전송되며, Alertmanager는 이를 관리함.
2.2 경고 라우팅
Alertmanager는 경고를 받고, 그룹화, 억제, 라우팅 등을 수행하여 최종 사용자에게 전달함.
여러 경고 방법(이메일, Slack, PagerDuty 등)을 지원함.
3. Pushgateway
3.1 푸시 메커니즘
일부 애플리케이션은 정기적으로 데이터를 푸시하는 방식이 적합할 수 있음.
Pushgateway는 이러한 메트릭을 임시로 수집하여 Prometheus가 나중에 스크랩할 수 있도록 함.
주로 일회성 작업 또는 배치 작업의 메트릭을 처리할 때 사용됨.
4. Prometheus 수집기들 (Exporters)
4.1 메트릭 변환
많은 시스템과 서비스는 Prometheus 형식이 아닌 메트릭을 제공함.
Exporters는 이러한 메트릭을 Prometheus가 이해할 수 있는 형식으로 변환함.
4.2 다양한 수집기
Node Expporter(시스템 메트릭 수집), Blackbox Exporter(외부 시스템 핑 테스트), MySQL Exporter(데이터베이스 성능 데이터 수집) 등 다양한 Exporter가 존재함.
5. Grafana
5.1 대시보드
Grafana는 Prometheus 데이터를 시각화하는 데 널리 사용되는 도구임.
Grafana를 사용하면 Prometheus 데이터로부터 복잡한 대시보드를 생성하고, 데이터를 시각적으로 탐색할 수 있음.
Prometheus 주요 컴포넌트 정리
위와 같은 컴포넌트들은 함께 작동하여 실시간으로 시스템의 상태를 모니터링함.
필요한 조치를 취할 수 있도록 정보를 제공함.
'Database > Prometheus' 카테고리의 다른 글
[Prometheus] 설정 파일 위치 찾기 (0) | 2024.05.29 |
---|---|
[Prometheus] 설정 파일 (prometheus.yml) (0) | 2024.05.29 |
[Prometheus] PromQL, Loki (0) | 2024.05.27 |
[Prometheus] 기능 및 장단점 (0) | 2024.05.27 |
[Prometheus] 프로메테우스의 장점 (0) | 2023.05.13 |