엔드포인트 모니터링
TCP 또는 HTTP로 통신하는 모든 것을 감시할 수 있습니다. 웹사이트는 시작에 불과합니다.
엔드포인트란 무엇인가요?
엔드포인트란 인터넷에서 주소 지정이 가능하고 접근하여 가용성을 확인할 수 있는 모든 것을 의미합니다. 전통적인 예시는 웹사이트의 URL이지만, 현대 인프라에서 관리해야 할 대상은 훨씬 다양합니다: REST API, GraphQL 엔드포인트, 메일 서버, 데이터베이스 리스너, 메시지 큐, 컨테이너 헬스 체크 포트, 내부 관리자 패널, 웹훅 수신자 등입니다. DiagnoSEO Uptime Monitoring은 이들을 동일하게 취급합니다: 해당 엔드포인트에서 "정상"의 기준을 정의하고, 점검 일정(schedule)을 설정하며, 장애가 발생하면 알림을 받아볼 수 있습니다.
이 페이지는 tool이 지원하는 각 엔드포인트 유형과 그 용도, 모니터링이 제공하는 신호에 대해 설명합니다.
HTTP / HTTPS 엔드포인트 (웹사이트)
기본적인 경우입니다. https://example.com을 입력하면 모니터가 지정한 주기(1분, 5분, 10분, 30분 또는 60분; 플랜에 따라 다름)마다 GET 요청을 수행합니다. 점검이 성공적이라는 의미는: TCP 연결이 성립되었고, TLS 핸드셰이크가 완료되었으며(HTTPS의 경우), 기대한 HTTP 상태 코드(기본값: 2xx 또는 3xx)가 반환되었고, 필요시 응답 본문에 특정 키워드가 포함(혹은 미포함)되어 있다는 것입니다. 점검 결과로 Time To First Byte, 전체 응답 시간, 컨텐츠 크기, 리디렉션 체인, 전체 응답 헤더 세트가 기록됩니다.
HTTP 엔드포인트는 마케팅 사이트, 블로그, 이커머스 스토어, SaaS 대시보드, 문서 포털 등 사람들이 브라우저로 방문하는 모든 웹에서 적합합니다.
API 엔드포인트 (REST / GraphQL / JSON-RPC)
API 모니터링에서는 단순히 "응답이 있는가"를 넘어서 "정상적으로 응답했는가"가 중요합니다. 모니터를 설정할 때 사용자 지정 HTTP 메서드(GET, POST, PUT, DELETE, PATCH), 사용자 지정 헤더(auth 토큰, content-type 등), 요청 본문(POST/PUT의 JSON payload), 그리고 응답에 대한 JSON 단언(data.status가 "ok"여야 하거나, result.count가 0보다 커야 하거나, errors[]가 비어 있어야 함 등)을 지정할 수 있습니다. HTTP 200을 반환했지만 payload가 잘못된 API는 최악의 장애입니다. 단순 모니터에는 정상으로 보이지만, 실제로는 모든 사용자가 장애를 겪습니다. JSON 단언이 이를 잡아냅니다.
설정 및 단언 문법 등 자세한 내용은 API 모니터링 전용 안내서를 참고하세요.
TCP 포트 엔드포인트
HTTP가 아닌 서비스의 예시: SMTP(포트 25 / 587 / 465), POP3(110 / 995), IMAP(143 / 993), 데이터베이스 리스너(PostgreSQL 5432, MySQL 3306, Redis 6379, MongoDB 27017), SSH(22), FTP(21), 사용자 지정 애플리케이션 포트 등이 있습니다. 모니터는 입력한 host:port로 TCP 연결을 시도하고, 타임아웃 내에 연결이 수락되면 성공을 보고합니다. 프로토콜 레벨의 핸드셰이크는 수행하지 않으며, 단순히 "데몬이 수신 중인가"만 확인합니다.
TCP 기반 서비스 전체에 대해 프로토콜 레벨 인식이 필요없고 단순 가용성만 확인하고 싶을 때 적합하게 사용할 수 있습니다. SMTP 배너 확인이나 데이터베이스 쿼리 수준 점검이 필요하다면 heartbeat 모니터를 사용하세요(당신의 서비스가 정상일 때 저희에게 핑을 전송, cron-job/heartbeat 모니터링 참고).
Ping (ICMP) 엔드포인트
3계층의 가용성 점검입니다. 모니터가 대상 hostname 또는 IP로 ICMP echo 요청(ping)을 보내고 응답을 기다립니다. 라우터, 스위치, IoT 기기 등 ping에는 응답하지만 HTTP는 동작하지 않는 모든 것에 유용합니다. 다만 많은 클라우드 공급자(AWS, GCP, Azure)는 기본적으로 security-group에서 ICMP를 차단하므로, 실질적으로 정상인 호스트임에도 ping 응답을 받을 수 없습니다. 클라우드 워크로드의 경우 HTTP나 TCP 포트 점검을 권장합니다.
Hostname / DNS 엔드포인트
DNS 레코드의 변동성을 모니터링합니다. tool이 주기적으로 귀하의 도메인에 대한 A, AAAA, MX, NS, TXT, CNAME 레코드를 확인하고, 결과의 스냅샷을 만들어 변동이 있을 때 알림을 보냅니다. 이를 통해: 비인가 DNS 점유, DNS provider 마이그레이션 중 실수로 인한 설정오류, 알림 없이 엔드포인트를 변경하는 외부 서비스(예: CDN이 IP 블록을 교체), 잘못된 철자로 인해 MX 레코드가 삭제되는 이슈 등을 감지할 수 있습니다.
DNS 모니터링의 주 목적은 가용성이 아니라 변경의 탐지입니다. DNS provider의 신뢰성은 일반적으로 origin 서버보다 높으므로, 변경 탐지에 집중합니다. 자세한 내용은 DNS 변경 모니터링 안내를 참고하세요.
SSL 인증서 엔드포인트
모든 HTTPS 엔드포인트는 자동으로 SSL 모니터링이 함께 적용됩니다. tool이 인증서를 읽어 만료일과 발급자를 파싱하고, 만료 30, 14, 7, 3, 1일 전에 미리 알림을 제공합니다. 자세한 내용은 SSL 인증서 모니터링 안내를 확인하세요.
도메인 만료 엔드포인트
모니터링되는 모든 URL에 대해 tool이 WHOIS를 하루 한 번 조회하고, 도메인 등록 만료일을 추적합니다. 만료 30/14/7/3/1일 전에 알림이 발송됩니다. 갱신 연체는 치명적일 수 있습니다 — 도메인은 소유자가 없어지고, 그 순간 다른 누군가가 즉시 등록할 수 있습니다. 도메인 만료 모니터링 안내서를 참고하세요.
올바른 엔드포인트 유형 선택하기
어떤 모니터를 사용해야 할지 모르겠다면, 웹 인터페이스가 있는 모든 것은 HTTP/HTTPS부터 시작하세요. 나머지는 TCP 포트를, 그리고 네트워크 표면이 없는 배치 작업에는 heartbeat 점검을 추가하세요. 동일한 대상을 여러 유형으로 동시에 모니터링할 수 있습니다 — 예를 들어, 443번 포트의 TCP 점검은 "서버는 살아있지만 TLS 핸드셰이크에 문제가 있음"을 발견할 수 있고, 동일 URL의 HTTP 체크도 이를 감지할 수 있습니다. 한편, 내부 에이전트에서 heartbeat를 전송하면 애플리케이션의 실제 논리가 동작하는지 확인할 수 있습니다.
자주 묻는 질문
-
인터넷에서 주소 지정이 가능한 모든 것: HTTP/HTTPS URL, REST API, TCP 포트(SMTP, MySQL, 사용자 지정 등), ping 가능한 hostname, DNS 레코드, SSL 인증서, 도메인 등록 정보가 포함됩니다. 엔드포인트 유형별로 각각 하나의 모니터를 설정하세요.
-
HTTP는 모든 웹 서비스에 대한 기본값으로 적합합니다. TCP 포트는 HTTP가 아닌 서비스(데이터베이스, 메일 서버, 사용자 지정 프로토콜 등)에서 "데몬이 연결을 수락하는지"만 확인하고 싶을 때 더 적합합니다. 저수준 가용성 확인에는 TCP, "애플리케이션이 제대로 응답하는지" 확인에는 HTTP를 사용하세요.
-
Heartbeat는 반대 방향입니다 — 저희가 귀하의 서비스를 점검하는 것이 아니라 귀하의 서비스가 저희에게 알려진 URL로 ping을 전송합니다. 기대한 시간 안에 ping을 받지 못하면 알림을 보냅니다. cron job, 배치 프로세스 등 네트워크 표면이 없는 스케줄 기반 작업에 사용합니다.
-
네, 가능합니다. 같은 대상에 여러 유형의 점검을 적용할 수 있습니다 — 예를 들어, 전체 가용성을 확인하는 HTTP 체크와, TLS 핸드셰이크 문제를 잡아내는 TCP 443 포트 체크를 동시에 적용할 수 있습니다. 각각의 모니터는 독립적으로 동작하며 별도로 알림을 보냅니다.
-
아니요 — 모든 HTTPS 엔드포인트는 자동으로 uptime 점검에 SSL 모니터링이 추가되고, 모니터되는 URL마다 도메인 만료도 매일 추적합니다. 둘 다 별도 설정 없이 패키지에 포함되어 있으며, 도메인 모니터링은 도메인 단위로 적용됩니다 — 같은 도메인 아래 여러 모니터가 있으면 WHOIS 정보는 함께 사용합니다.
UptimeRobot · Pingdom · BetterStack · Oh Dear · Site24x7 · StatusCake · Sentry · Uptrends · Cronitor · New Relic