서버가 살아 있는지 확인하는 모니터링 서버가 먼저 죽는 상황을 몇 번 겪고 나서, 서버리스로 하는 편이 낫겠다고 생각했다.
그래서 바이브 코딩으로 Cloudflare Workers 기반 서버 상태 모니터링 도구를 만들었다.
- 서버 없음 (서버리스)
- 1분 단위 Cron 실행
- 여러 사이트 병렬 체크
- 장애 발생 시 Slack 알림
👉 코드: https://gitlab.com/mytory/mytory-monitor
1. 소개
목적은 개인 용도의 간단한 모니터링이다.
죽었는지 여부만 판단하고(살았다고 판단하는 상태 코드는 설정할 수 있음), 알림은 슬랙으로 받는다.
대규모 모니터링 가능성은 모르겠다. 나는 현재 4개를 등록해서 받고 있다.
- Cron Trigger로 1분마다 자동 실행
- HTTP 상태 코드 기준으로 장애 판단 후 Slack 알림 전송
2. Cloudflare Workers로 등록하는 방법
커맨드라인에서 작업을 해야 한다.
2-1. GitLab 저장소 clone
git clone https://gitlab.com/mytory/mytory-monitor.git
cd mytory-monitor
2-2. wrangler 소개 및 설치
wrangler는 Cloudflare Workers의 공식 CLI 도구다. 배포, 환경변수 관리, 로그 확인을 전부 이걸로 한다.
Node.js 18 이상이면 문제없다.
npm install -g wrangler
Cloudflare 계정에 로그인:
wrangler login
브라우저가 열리면서 인증된다.
2-3. config 설정 후 deploy
1) 설정 파일 만들기
cp src/config.sample.js src/config.js
config.js에서 다음 항목들을 수정한다.
sites: 모니터링할 사이트 목록timezone: 예)"Asia/Seoul"- 장애 기준 시간(초), 성공 상태 코드, 디버그 모드
config.js는 Git로 추적하지 않고 있으니 안심하라.
2) Slack Webhook URL 설정 (Secret)
wrangler secret put SLACK_WEBHOOK_URL
프롬프트가 뜨면 Slack Webhook URL을 입력한다. 이 값은 코드나 Git 저장소에 남지 않는다.
3) 배포
wrangler deploy
3. 잘 deploy됐는지 확인하는 방법
서버를 다운시키고 1분 기다려서 알림을 받아 보면 가장 확실할 테지만, Cloudflare 대시보드에서도 확인할 수 있다.

Workers 애플리케이션 확인
- Cloudflare Dashboard 접속
- Build > Compute & AI > Workers & Pages
mytory-monitor클릭
Metrics 탭 – Subrequests 확인
Metrics → Subrequests
- 어떤 사이트로 요청이 나갔는지
- HTTP Status 코드가 무엇이었는지
여기서 실제 모니터링 요청이 발생하는 걸 확인할 수 있다.
Observability 탭 – Cron 작동 여부
Observability 탭을 보면:
- Cron Trigger가 1분마다 실행되는지
- 실행 횟수와 에러 여부
Cron이 안 돌고 있으면 여기서 바로 드러난다.
워커 도메인은 무엇?
클라우드플레어에 들어가면 도메인도 준다. 아래와 같은 형식이다.
https://mytory-monitor.your-name.workers.dev
우리 워커에서 이 도메인은 실제로는 쓸모가 없다. 그냥 간단한 응답만 하게 만들어 뒀으니 신경쓸 필요 없다.
실제 모니터링은 Cron Trigger로 동작한다.
마무리
이 도구는 단순하면서 신뢰할 수 있는 모니터링이 목적이다.
- 서버가 죽었는지
- 알림이 확실히 오는지










댓글 남기기