간단한 Uptime 모니터링을 위한 GitHub Actions 설정 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
- 대상자: GitHub Actions를 사용하는 개발자, 서버리스 모니터링이 필요한 프로젝트 관리자
- 난이도: 중간 (GitHub Actions 기초 지식 필요)
핵심 요약
- GitHub Actions 기반으로 서버/구독 없이 웹사이트 모니터링 가능
- HTTP 상태 코드 및 응답 시간을 실시간으로 로깅하고, 비정상 시 GitHub 이슈 자동 생성
- 오픈소스로 제공되며,
uptime-monitor
액션을 사용하여 포트폴리오, API, 정적 사이트 등에 적용 가능
섹션별 세부 요약
1. 문제 정의
- 웹사이트 무시로 인한 링크 꺠짐 문제 발생
- 모니터링 도구 비용 및 서버 설정 필요성 제거를 목표로 함
2. 해결 방안
- GitHub Actions 활용:
uptime-monitor
액션을 사용하여 URL 목록 정기 테스트- HTTP 200 OK 외 응답 시 GitHub 이슈 생성
- 로깅 기능으로 시간 경과에 따른 상태 추적 가능
3. 실행 과정
- 워크플로우 설정:
urls
리스트와 필수/선택 설정 정의- 스케줄링 또는 수동 실행 가능
- 기본 로그 예시:
```plaintext
[2025-06-14T16:26:04+02:00] → Status: 200, Response: 0.307s
```
- 이슈 생성 예시:
```plaintext
The following site(s) returned a non-success HTTP status at 2025-06-20T17:35:00+02:00:
https://example.com
returned status 404
https://api.example.com
returned status 500
```
4. 설정 가이드
- 초보자도 사용 가능한 상세 문서 제공
- Getting Started 가이드와 Readme를 통해 고급 설정 가능
5. 프로젝트 배경
- 개인 필요 해결을 위한 주말 프로젝트 출발
- 오픈소스 공개 및 커뮤니티 피드백 요청
결론
- GitHub Actions 기반 서버리스 모니터링으로 비용 절감 및 자동화 효율성 확보
- cd-roman/uptime-monitor 리포지토리에서 즉시 사용 가능하며, 포트폴리오/프로젝트 유지 관리에 적합
- 비정상 상태 자동 알림과 이력 추적 기능으로 실시간 모니터링 가능