
매출 손실을 줄여주는 외부링크 관제 Bot, 'URL Checker' 개발기
두줄요약
스크린샷 비교 기반 외부 링크 관제 Bot으로 제휴사 페이지 장애 감지와 알림을 자동화했습니다. Kubernetes CronJob 전환으로 안정성을 높이고 운영 확인 시간과 장애 인지 시간을 줄였습니다.
문제 상황
- 제휴사 상품 상세 URL 변경·장애를 즉시 인지하지 못해 사용자 경험과 매출에 미치는 리스크
- 사람이 제휴사 페이지를 반복 확인해야 하는 비효율적 운영 업무
해결 방법
- Puppeteer로 제휴사 페이지를 주기적으로 접속·캡처하고 정상 스크린샷과 Resemble.js 비교
- Google Sheets API 기반 URL 관리, S3 이미지 저장, Slack Webhook 장애 알림 구성
- GitHub Actions 스케줄링에서 Kubernetes CronJob 기반 운영 환경으로 전환
원인 분석
- HTML 비교 방식의 문구·timestamp 변화에 따른 오탐 문제
- 리소스 로딩 전 캡처, GitHub Actions 실행 환경과 부족한 서버 자원에 따른 연결 오류
- 서버 환경 접근을 차단하는 특정 제휴사 URL의 제어 불가능한 조건
성능/운영 포인트
networkidle0설정으로 리소스 로딩 중 캡처 문제 완화- EC2 runner 전환 후 오류 비율 33%에서 3% 수준으로 감소
- Kubernetes CronJob의 CPU 2, 메모리 요청 8Gi·제한 16Gi 설정 후 7일간 자체 오류 미발생




