본문 바로가기

서비스 신뢰성 확보5

웹 페이지 모니터링 스크립트를 3년 만에 개선한 이유 안녕하세요! 김명관 입니다.2022년에 원티드랩 주요 웹 페이지를 모니터링 하는 스크립트를 만들었다고 공유해 드린 적이 있습니다. (https://chance-doe.tistory.com/9) 그 후로 3년 간 문제없이 잘 써왔고 해당 모니터링 스크립트의 결과를 가지고 3년 간 장애 데이터를 쌓아 여러가지 차트로 현황도 분석하고 있습니다.최근에 저는 이 모니터링 스크립트를 구조부터 모두 싹 바꾸는 작업을 마치게 되었습니다. 왜 그래야 했는지 간단하게 공유해 보겠습니다.기존 스크립트의 문제점기존 스크립트를 비유하자면 CCTV와 같습니다. 지정해둔 사이트를 24시간 감시하고 있는거죠. "야 너 괜찮아?" 라고 툭 툭 찌르면서요. 이 스크립트의 문제점은 스크립트 한 벌 당 하나의 URL만 감시가 가능하다는 것.. 2024. 12. 31.
파이썬 + 슬랙으로 에러 통계 데일리 요약 받아보기 안녕하세요 원티드랩 QA팀 김명관입니다. 전에 서비스의 헬스체크를 하는 스크립트를 만들어 Google Sheet에 기록하고, Looker Studio로 차트를 만들어 서비스 에러 통계를 확인하는 방법에 대해서 소개해 드린 적이 있습니다. (https://chance-doe.tistory.com/9) 에러 통계 차트를 만든 뒤 몇가지 개선하고 싶은 문제들이 생겼어요. 일단, 이 차트를 많은 분들께서 참고하셨으면 했지만 몇 명만 보게 된다는 문제가 있었습니다. 그리고 저는 매일 아침 해당 페이지에 접속해 어제 에러 통계는 어땠는지 확인하곤 하는데요 이것이 생각보다 귀찮았다는 문제였죠.. 😅 그래서 매일 아침 9시에 슬랙으로 주요 서비스들의 어제자 에러 통계를 보내주는 스크립트를 작성하게 되었는데요 그 과정을.. 2024. 2. 29.
파이썬으로 이미지 유사도 측정하고 UI 점검하기 안녕하세요! 원티드랩 QA팀 김명관입니다. 전에 공유드린 파파라치를 개선하는 과정에서 파이썬으로 이미지를 다루는 모듈 중에 opencv2라는 모듈도 있다는 사실을 알게 되었고 이 모듈을 사용해 미리 찍어둔 웹 페이지와 현재 상태의 유사도를 비교하고, 어디가 어떻게 달라졌는지 표시할 수 있는 스크립트를 만들게 되었습니다. 네이밍에 재미가 들려서인지 이번엔 숨은그림찾기 계의 대명사 같은 게임인 “히든캐치” 라는 이름을 짓게 되었습니다. opencv2를 이용해 전체 웹 페이지의 UI 상태를 한방에 점검할 수 있는 “히든캐치” 스크립트를 만들어본 과정을 공유해 드리겠습니다! 시작 히든캐치의 시작은 파파라치를 개선하는 작업이었습니다. 점검이 필요한 UI 요소를 스크린샷으로 따두고 Selenium으로 해당 페이지에.. 2024. 1. 29.
UI, 프론트, 서버를 모두 한방에 점검하는 스크립트 만들기 얼마 전 서비스 전체에 영향을 미치는 수정 사항이 있었어요. 이에 대해서 저희 팀은 여러가지 대비를 했고, 저는 그 중 Python을 이용해 UI와 프론트, 서버의 에러를 점검하는 스크립트를 만들었습니다. 수정 사항으로 인해 영향을 받거나, 유저 유입량이 높은 URL을 수집하고 해당 URL들의 전반적인 상태를 점검하는데 활용했습니다. 전에 공유해드린 적이 있는 Python과 Selenium + Pyautogui + Requests 모듈들로 모든 기능을 구현할 수 있었는데요. 세 가지 모듈 모두 테스트 자동화를 위해 사용할 수 있으며 Requests 모듈은 크롤링, 스크래핑 등 서버에 요청을 보낼 때 사용합니다. 이 세 가지 모듈로 어떻게 UI, 프론트, 서버를 모두 점검할 수 있었는지 공유해 보겠습니다... 2024. 1. 29.
Python으로 Wanted 서비스의 헬스 체크하기 안녕하세요 원티드랩 QA팀 김명관입니다. 저희 팀에서는 품질 업무를 위한 다양한 스크립트를 개발하여 활용하고 있습니다. 그 중에는 Wanted를 비롯한 주요 서비스들의 활성 상태를 체크하는 스크립트도 있는데요. 이번 글에서는 Python을 이용하여 Wanted 주요 서비스의 안정성을 체크하는 스크립트를 만들게 된 배경과 운영 방식에 대해 공유 드리려고 합니다. 헬스 체크 스크립트 작성 배경 원티드랩에서는 데이터독을 이용해 서비스와 서버의 상태를 실시간 모니터링 하고 있습니다. 그리고 오토 스케일링 기능을 이용해 유저 유입량에 따라 서버의 리소스를 유동적으로 활용합니다. 하지만, 특정 시점에 유입량이나 서버로의 요청이 비정상적으로 치솟는 경우 자동 스케일업 되는 시간 동안 서비스가 불안정해지는 일이 가끔 .. 2024. 1. 29.