Prometheus 구축부터 슬로우 쿼리 감지, Slack 자동 보고까지 — 소규모 서비스의 운영 자동화
작은 서비스도 리소스 제약 때문에 모니터링이 필수입니다. NestJS에 Prometheus와 Grafana Cloud를 연동하여 효율적인 리소스 관리 시스템을 구축하는 방법을 알아보세요.
Grafana에서 CPU 스파이크를 추적하다 발견한 Prometheus 메트릭 문제들 - 공격 트래픽으로 인한 카디널리티 폭발, 중복 메트릭, 서비스 구분 부재. 해결 방법과 교훈을 공유합니다.
슬로우 쿼리가 발생했을 때 SQL은 쉽게 알 수 있지만, 어디서 호출했는지는 파악하기 어렵습니다. Knex Proxy 패턴으로 호출 스택을 자동 캡처하고 Slack으로 알림받는 시스템을 구현했습니다.
NestJS 스케줄러와 Grafana Cloud Prometheus API를 연결해 매일 아침 서버 상태를 Slack으로 자동 보고하는 시스템을 구축한 과정을 정리했습니다. 이미 갖춰진 인프라를 활용해 최소한의 코드로 일일 리포트를 만드는 방법입니다.
기존 Grafana Prometheus 기반 서버 리포트에 Google Analytics 4와 Search Console 데이터를 추가하여, 서버 상태부터 사용자 행동, 검색 성과까지 한눈에 파악할 수 있는 통합 일일 리포트를 구축한 과정을 정리했습니다.