🛠 작업 사항
스크래핑 데이터 수집 상태를 모니터링하기 위한 Grafana 대시보드를 구성한다.
현재 학식 및 셔틀버스 데이터는 스크래퍼를 통해 주기적으로 수집되지만, 수집 실패나 지연 여부를 한눈에 확인하기 어렵다.
이를 해결하기 위해 PostgreSQL을 데이터 소스로 사용하는 Grafana 대시보드를 구축하여 데이터 최신 상태와 스크래핑 성공 여부를 모니터링한다.
Grafana 쿼리의 복잡도를 줄이고 모니터링 로직을 DB 레이어에서 관리하기 위해 모니터링용 VIEW를 생성하여 사용한다.
학식 데이터
식당별 메뉴 데이터가 어디 날짜까지 수집되었는지 확인한다.
사용 테이블
구성 방식
cafeteria와 cafeteria_diet을 조인하여 식당별 최신 메뉴 날짜(last_date)를 계산한다.
- 모니터링용 VIEW(
monitoring_cafeteria_status)를 생성하여 Grafana에서 해당 VIEW를 조회하도록 한다.
확인 지표
cafeteria_name_ko
last_date
lag_days (현재 날짜 대비 수집 지연 일수)
셔틀버스 데이터
노선별 스크래핑 상태를 확인한다.
구성 방식
- 노선별
updated_at과 last_success_at을 조회할 수 있는 모니터링 VIEW(monitoring_shuttle_status)를 생성한다.
- Grafana는 해당 VIEW를 조회하여 상태를 시각화한다.
확인 지표
updated_at : 교내 홈페이지 원본 데이터 갱신 시각
last_success_at : 스크래퍼 마지막 성공 시각
✅ 작업 완료 기준
🛠 작업 사항
스크래핑 데이터 수집 상태를 모니터링하기 위한 Grafana 대시보드를 구성한다.
현재 학식 및 셔틀버스 데이터는 스크래퍼를 통해 주기적으로 수집되지만, 수집 실패나 지연 여부를 한눈에 확인하기 어렵다.
이를 해결하기 위해 PostgreSQL을 데이터 소스로 사용하는 Grafana 대시보드를 구축하여 데이터 최신 상태와 스크래핑 성공 여부를 모니터링한다.
Grafana 쿼리의 복잡도를 줄이고 모니터링 로직을 DB 레이어에서 관리하기 위해 모니터링용 VIEW를 생성하여 사용한다.
학식 데이터
식당별 메뉴 데이터가 어디 날짜까지 수집되었는지 확인한다.
사용 테이블
cafeteriacafeteria_diet구성 방식
cafeteria와cafeteria_diet을 조인하여 식당별 최신 메뉴 날짜(last_date)를 계산한다.monitoring_cafeteria_status)를 생성하여 Grafana에서 해당 VIEW를 조회하도록 한다.확인 지표
cafeteria_name_kolast_datelag_days(현재 날짜 대비 수집 지연 일수)셔틀버스 데이터
노선별 스크래핑 상태를 확인한다.
구성 방식
updated_at과last_success_at을 조회할 수 있는 모니터링 VIEW(monitoring_shuttle_status)를 생성한다.확인 지표
updated_at: 교내 홈페이지 원본 데이터 갱신 시각last_success_at: 스크래퍼 마지막 성공 시각✅ 작업 완료 기준
monitoring_cafeteria_status)를 생성한다monitoring_shuttle_status)를 생성한다last_date와 수집 지연(lag_days)을 확인할 수 있다updated_at과last_success_at을 확인할 수 있다