피드로 돌아가기
Dev.toDevOps
원문 읽기
curl과 cron 조합을 통한 5분 주기 자동 Uptime 모니터링 체계 구축
My site went down for a few hours yesterday and my users knew before me
AI 요약
Context
수동 브라우저 확인 방식의 인적 의존성으로 인한 가동 중단 인지 지연 발생. 모니터링 시스템 부재로 6시간 동안 장애 상황을 인지하지 못한 아키텍처적 한계 노출.
Technical Solution
curl명령의-o /dev/null옵션을 통한 응답 바디 제거 및 네트워크 오버헤드 최소화-s플래그 적용으로 불필요한 Progress bar 및 에러 메시지 억제-w "%{http_code}"포맷을 사용하여 HTTP 상태 코드만 정밀하게 추출하는 데이터 파싱 설계- Bash 쉘 스크립트로 HTTP 200 상태 값에 따른 분기 처리 로직 구현
cron스케줄러를 활용하여 5분 간격의 주기적 실행을 통한 감시 자동화2>&1리다이렉션 및 Append 모드(>>) 적용으로 표준 출력과 에러 로그의 통합 이력 관리
실천 포인트
1. 단순 상태 확인 시 응답 바디를 버려 리소스 낭비를 방지했는가
2. Cron 작업 설정 시 상대 경로가 아닌 절대 경로(~/ 또는 /home/...)를 사용하여 실행 안정성을 확보했는가
3. 로그 저장 시 덮어쓰기가 아닌 Append 방식을 사용하여 장애 이력 추적 가능성을 확보했는가
4. stderr를 stdout으로 통합하여 예외 상황에 대한 가시성을 확보했는가