Skip to content

관리자는 데이터 수집 상태를 실시간으로 모니터링할 수 있다. #44

@JangDongHo

Description

@JangDongHo

🛠 작업 사항

스크래핑 데이터 수집 상태를 모니터링하기 위한 Grafana 대시보드를 구성한다.

현재 학식 및 셔틀버스 데이터는 스크래퍼를 통해 주기적으로 수집되지만, 수집 실패나 지연 여부를 한눈에 확인하기 어렵다.
이를 해결하기 위해 PostgreSQL을 데이터 소스로 사용하는 Grafana 대시보드를 구축하여 데이터 최신 상태와 스크래핑 성공 여부를 모니터링한다.

Grafana 쿼리의 복잡도를 줄이고 모니터링 로직을 DB 레이어에서 관리하기 위해 모니터링용 VIEW를 생성하여 사용한다.


학식 데이터

식당별 메뉴 데이터가 어디 날짜까지 수집되었는지 확인한다.

사용 테이블

  • cafeteria
  • cafeteria_diet

구성 방식

  • cafeteriacafeteria_diet을 조인하여 식당별 최신 메뉴 날짜(last_date)를 계산한다.
  • 모니터링용 VIEW(monitoring_cafeteria_status)를 생성하여 Grafana에서 해당 VIEW를 조회하도록 한다.

확인 지표

  • cafeteria_name_ko
  • last_date
  • lag_days (현재 날짜 대비 수집 지연 일수)

셔틀버스 데이터

노선별 스크래핑 상태를 확인한다.

구성 방식

  • 노선별 updated_atlast_success_at을 조회할 수 있는 모니터링 VIEW(monitoring_shuttle_status)를 생성한다.
  • Grafana는 해당 VIEW를 조회하여 상태를 시각화한다.

확인 지표

  • updated_at : 교내 홈페이지 원본 데이터 갱신 시각
  • last_success_at : 스크래퍼 마지막 성공 시각

✅ 작업 완료 기준

  • Grafana에 PostgreSQL 데이터 소스를 연결한다
  • 학식 데이터 모니터링을 위한 VIEW(monitoring_cafeteria_status)를 생성한다
  • 셔틀버스 데이터 모니터링을 위한 VIEW(monitoring_shuttle_status)를 생성한다
  • Grafana에서 모니터링 VIEW를 조회하는 패널을 생성한다
  • 식당별 last_date와 수집 지연(lag_days)을 확인할 수 있다
  • 셔틀버스 노선별 updated_atlast_success_at을 확인할 수 있다
  • 데이터 수집 지연 여부를 한눈에 확인할 수 있는 대시보드를 구성한다

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions