AI 시스템 구축: 로그 및 알림 – Prometheus
ㅁ 로그 및 알림
ㅇ 정의:
모니터링 및 경고 시스템으로, 시계열(time-series) 데이터 수집과 질의, 알림 기능을 제공하는 오픈소스 툴.
ㅇ 특징:
– Pull 방식으로 대상 시스템의 메트릭을 주기적으로 수집.
– PromQL이라는 전용 질의 언어를 사용해 데이터 분석.
– Exporter를 통해 다양한 시스템/애플리케이션과 연동.
– Alertmanager와 연계하여 조건 기반 알림 발송.
ㅇ 적합한 경우:
– 마이크로서비스 환경에서 서비스별 메트릭 수집/분석이 필요한 경우.
– Kubernetes 등 컨테이너 오케스트레이션 환경에서 리소스 상태를 모니터링할 때.
– 장기 데이터 저장보다는 실시간 모니터링에 중점을 두는 경우.
ㅇ 시험 함정:
– Prometheus는 Push 방식이 기본이라고 오답 유도 가능 (정답은 Pull 방식).
– 장기 데이터 저장에 최적화된 도구라고 혼동 유발 (정답은 단기/실시간 중심).
– 알림 기능을 자체적으로 처리한다고 오해 (정답은 Alertmanager와 연계 필요).
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) Prometheus는 Pull 방식으로 메트릭을 수집한다.
– (X) Prometheus는 기본적으로 Push 방식으로 동작한다.
– (O) Prometheus는 PromQL을 사용해 시계열 데이터를 질의한다.
– (X) Prometheus는 장기 데이터 저장에 최적화되어 있다.
ㅁ 추가 학습 내용
Prometheus는 자체적으로 알림을 처리하지 않고 Alertmanager를 통해 Slack, Email, PagerDuty 등 다양한 알림 채널로 전달한다. 따라서 Alertmanager의 역할과 설정 방법을 이해하는 것이 중요하다. 또한 Exporter의 종류와 용도를 숙지해야 하는데, 예를 들어 Node Exporter는 서버의 하드웨어 및 OS 메트릭을 수집하고, Blackbox Exporter는 네트워크 및 서비스의 가용성을 모니터링한다. Kubernetes 환경에서는 ServiceMonitor와 PodMonitor를 사용하여 메트릭 수집 대상을 지정하고 설정하는 방법을 알아야 한다. PromQL에서는 avg, sum, rate 등의 집계 함수를 활용하는 방법이 자주 출제된다. Pushgateway는 Push 방식이 필요한 일회성 또는 배치 작업의 메트릭을 처리하는 데 사용되므로, 해당 사용 사례를 이해하는 것도 중요하다.