목록 보기
매출 손실을 줄여주는 외부링크 관제 Bot, 'URL Checker' 개발기
데브옵스

매출 손실을 줄여주는 외부링크 관제 Bot, 'URL Checker' 개발기

뱅크샐러드
뱅크샐러드
2020년 3월 13일

두줄요약

스크린샷 비교 기반 외부 링크 관제 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일간 자체 오류 미발생

다음 읽기

#Slack 주제를 이어서 읽기

100여개의 대출 기관 API, 자동으로 운영하기

100여 개 금융기관 API의 성공률을 메트릭과 Datadog 대시보드로 관찰했습니다. 임계치 기반 Slack 알림으로 오류를 선제 대응해 성공률을 99%까지 높였습니다.

뱅크샐러드
뱅크샐러드
데브옵스
전체 보기

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...