운영 중 · 2024–25

Grafana 기반 사내 데이터·DB 모니터링 구축

DB·크롤러·백업·배포 지표를 같은 시간축으로 모아 장애 원인을 확인했습니다.

기간2024–2025
소속래브라도랩스(LabradorLabs)
역할데이터 엔지니어
Grafana모니터링알람

작업 요약

팀 서버 약 10~20대의 상태를 한 화면에서 확인

서버마다 접속해 상태를 확인해야 했습니다

팀에서 운영하는 서버가 10~20대로 늘면서, 장애가 생길 때마다 서버에 접속해 DB와 로그를 따로 확인하는 방식으로는 원인을 찾는 데 시간이 걸렸습니다. 수집 누락, 수집량 급증, DB replica 지연, 고객사로 나가는 데이터 상태가 서로 다른 화면에 흩어져 있었습니다.

무엇을 한 화면에 모았나

Prometheus와 Grafana를 사용해 서버와 DB 상태를 공통 대시보드로 묶었습니다. 데이터 현황은 PostgreSQL의 시계열 데이터와 연결해 같은 시간축으로 비교했습니다.

전체 구조를 먼저 보고, 크게 열어 세부 내용을 확인하세요.크게 보기ExcalidrawMermaid
서버와 DB 상태는 Prometheus에서, 수집·고객사 데이터 현황은 PostgreSQL 시계열에서 조회합니다. Grafana에서 함께 비교하고 임계값을 넘으면 메신저와 이슈 관리 도구로 알립니다.
서버와 DB 상태는 Prometheus에서, 수집·고객사 데이터 현황은 PostgreSQL 시계열에서 조회합니다. Grafana에서 함께 비교하고 임계값을 넘으면 메신저와 이슈 관리 도구로 알립니다.

알림과 운영

대시보드에 더해, 임계값을 넘으면 메신저와 이슈 관리 도구로 알림이 가도록 연결했습니다. 토큰 만료, 백업 실패, 데이터 동기화 지연처럼 미리 조치할 수 있는 항목은 장애 전에 알려 주도록 했습니다. 서버와 애플리케이션 로그 수집에는 Vector를 사용했습니다.

결과

10~20대 서버공통 상태를 한 화면에서 확인
DB·수집·배포서로 다른 지표를 같은 시간축으로 비교
선제 대응만료·지연·실패를 알림으로 먼저 확인

제가 맡은 부분

공통으로 볼 지표를 정하고 Prometheus 수집, Grafana 대시보드, PostgreSQL 시계열 조회와 알림을 구성했습니다. 개별 크롤러의 내부 로직은 담당자가 관리했고, 저는 전체 수집량과 누락, DB·서버, 고객사 데이터 흐름을 함께 볼 수 있는 모니터링 구성을 맡았습니다.