AI Briefing
KO

Banksalad Develops 'URL Checker' Bot for Monitoring External Links Based on Image Comparison

·2020.03.13 09:00

Key point

Banksalad has developed URL Checker, which automatically detects outages on partner pages using image comparison and Kubernetes CronJob.

Details

Banksalad's Engineering Foundation Front End Team developed an external link monitoring bot called 'URL Checker' to prevent revenue loss and degraded user experience caused by partner page outages. Previously, team members had to manually check partner pages, but this process has now been automated, reducing repetitive work and shortening outage detection time.

Image Comparison-Based Outage Detection Logic

Initially, the team attempted HTML source code comparison, but this led to false positives caused by timestamp changes or DOM structure changes. As a result, they switched to using Puppeteer to capture page screenshots and compare the current image against a normal-state image. Resemble.js is used for image comparison, and an outage is determined when the difference value is 50% or higher. This threshold was set conservatively to reduce false positives on pages with dynamic elements such as carousels.

Optimizing the Operating Environment and Ensuring Stability

In the initial operating environment on GitHub Actions' default server, connection errors (such as ERR_CONNECTION_CLOSED) occurred at a rate of about 33%. To address this, the team switched to an EC2 Runner, lowering the error rate to around 3%, but intermittent errors persisted. Analysis revealed insufficient server resources as the cause, leading the team to switch the operating environment to Kubernetes CronJob. By generously allocating memory (8Gi~16Gi), the system has run stably with 0 self-caused errors recorded over 7 days of monitoring.

Results and Future Plans

With the introduction of URL Checker, the time the operations team spends checking partner product pages has been reduced from the previous 2-3 hours to under 1 hour. Additionally, outage detection time has decreased from the previous 2-4 days to within 1 day. Going forward, the team plans to review adopting Playwright to check the iOS user environment, aiming to support both Chromium and Webkit environments.

This summary was generated automatically by AI. Check the original for the author's claims and context. Copyright belongs to the original author.

Our guide explains how the AI works. Report summary errors, attribution issues, or removal requests via Contact.