키워드 모니터링
HTTP 200 응답이 있다고 해서 페이지가 정상이라는 뜻은 아닙니다. 키워드 모니터링은 서버는 OK이지만 콘텐츠가 손상된 경우를 잡아냅니다.
"200 OK이지만 망가진" 문제
모든 업타임 도구는 서버가 HTTP 2xx 코드를 반환했는지 알 수 있습니다. 이 신호는 안심이 되지만 생각보다 자주 거짓 신호를 보냅니다. 홈페이지가 비어있는 흰색 페이지만 렌더링하고 200을 반환할 수 있습니다. 장바구니 페이지가 배포 후 조용히 "지금 구매" 버튼을 잃어버려도 오류를 전혀 발생시키지 않을 수 있습니다. 워드프레스도 "데이터베이스 연결 오류" 메시지로 콘텐츠를 교체할 수 있는데, 물론 진짜 HTML로 200 OK 커스텀 페이지가 출력됩니다.
키워드 모니터링 기능은 이 맹점을 보완합니다. 사용자는 페이지에 포함되어야 할 혹은 포함되면 안 되는 문자열을 지정할 수 있습니다. 모니터는 각 확인마다 응답 본문을 검색해 해당 문자열의 존재 여부를 확인합니다. 키워드가 없다면 (있어야 하는 경우) 혹은 등장했다면 (없어야 하는 경우), HTTP 신호가 모두 정상이어도 모니터가 즉시 장애를 알립니다.
모니터링할 문자열 예시
좋은 키워드는 페이지의 핵심 부분이 정상적으로 렌더링됐는지 확인할 수 있는 문구입니다. 몇 가지 예시:
- 이커머스 메인페이지: "장바구니에 담기" 또는 가장 인기 있는 상품명을 모니터링하세요. 상품 목록 피드에 문제가 생기면 이 단어가 사라져 즉시 알 수 있습니다.
- 로그인 페이지: "로그인" 또는 "비밀번호 찾기"문구를 모니터링합니다. JS 오류로 폼이 사라지면 문구도 사라집니다.
- 블로그·포털: 최신 글의 타이틀을 모니터링해보세요. CMS가 어제 글을 보여주기 시작하면 키워드가 일치하지 않습니다.
- 가격 페이지: 가격 문자열을 모니터링하세요. 가격 블록이 배포 중 누락되면 바로 감지할 수 있습니다.
- 상태 / 건강 체크 endpoint: "ok" 혹은 "healthy"를 감시하세요. 상위 서버가 죽으면 endpoint에서 "degraded"를 반환해 키워드가 일치하지 않습니다.
미포함 모드를 사용해도 좋습니다. 즉, 절대 등장하면 안 되는 에러 메시지 등이 나타났을 때 알림이 오게 합니다. 예시: "Database connection error", "Whoops! Something went wrong", "점검 모드", "Fatal error", "곧 오픈". 이러한 문자열이 프로덕션에서 노출되면 즉시 경고를 받을 수 있습니다.
점검은 이렇게 동작합니다
모니터는 일반적인 HTTP(S) GET(혹은 임의의 메서드 - POST, PUT 등) 요청을 실행하고, 최대 5번까지 리디렉션을 따라가며, 응답 본문을 받아 대소문자 구분 없이 문자열 존재 여부를 검사합니다. 매치 결과는 HTTP 코드, 응답 시간, SSL 상태와 함께 기록됩니다. 2회 연속(기본 확인 임계값) 불일치 시 장애가 열리고, 활성화된 채널(이메일, 텔레그램, 슬랙, 디스코드, SMS)로 알림이 발송됩니다.
동적 SPA 콘텐츠 등 키워드가 JavaScript 실행 후에 나타난다면, ScrapingBee를 통한 실제 헤드리스 브라우저를 이용하는 프리미엄 멀티 위치 기능을 사용하세요.
HTTP 및 SSL과 연동
DiagnoSEO 업타임 모니터링의 단일 키워드 모니터는 HTTP 코드, 응답 시간, SSL, 도메인 만료, DNS 레코드, 호스팅 감지까지 전체 사이트 점검을 함께 진행합니다. 하나의 모니터로 서버 장애, 인증서 만료, DNS 변경 및 콘텐츠 침묵 장애까지 전부 감지할 수 있습니다.
설정 방법
도구를 열고 "모니터 추가"를 클릭, "키워드" 유형을 선택 후 URL을 붙여넣고, 문자열을 입력한 뒤 "존재해야 함" 또는 "존재하면 안 됨"을 지정하세요. 인터벌(플랜에 따라 1~30분)을 고려해 저장하면, 다음 사이클부터 모니터가 해당 페이지를 감시해 단어가 사라지면 즉시 알립니다. (다른 신호가 모두 정상이어도 감지!)
자주 묻는 질문
-
모니터가 응답 본문을 가져와 특정 문자열이 등장하는지(존재 모드), 또는 등장하지 않는지(미포함 모드) 확인합니다. 페이지의 콘텐츠 변경, 에러 메시지 등장, 특정 요소 삭제 감지에 활용할 수 있습니다.
-
둘 다 지원합니다. 검색은 원본 응답 본문에서 부분 문자열 매칭으로 동작하므로, 평문("장바구니에 담기"), HTML 코드 조각(
<button class="buy">) 또는 특정 속성도 매칭 가능합니다. HTML 소스에 실제로 존재하는 모든 문자열을 모니터링할 수 있습니다. -
diff 도구는 기준값과의 모든 차이를 보고합니다. 키워드 모니터링은 사용자가 반드시 있어야 하거나(혹은 절대 있으면 안 되는) 항목을 지정하는 방향성 검사이므로, 동적 페이지에서 자잘한 변동이 많은 diff와 달리 중요한 의미가 있는 부분만 정확하게 감시할 수 있습니다.
-
네 — "absent" 모드와 "Internal Server Error" 또는 "오류가 발생했습니다" 같은 키워드를 함께 사용하세요. 오류 텍스트가 등장하면 모니터링 실패로 간주합니다. HTTP 200 코드로 에러 페이지를 반환하는 500 오류(프레임워크 오설정에서 흔함) 탐지에 유용합니다.
-
기본적으로는 아니오 — 모니터가 JS 실행 전의 원본 HTML만 수집합니다. SPA 또는 heavy-JS 사이트라면 키워드는 서버 측 렌더링 응답에 포함되거나
<noscript>등에 나타나야 합니다. 브라우저 렌더링 체크는 별도의 기능으로 제공됩니다.
UptimeRobot · Pingdom · BetterStack · Oh Dear · Site24x7 · StatusCake · Sentry · Uptrends · Cronitor · New Relic