피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Windows Event Log 기반의 비동기 알림 설계를 통한 셧다운 감지 신뢰성 확보
I Built Windows11Alert — A Windows Utility That Sends Telegram Alerts When My PC Turns On
AI 요약
Context
PC 부팅 및 종료 상태를 실시간 모니터링하여 Telegram으로 전송하는 경량 유틸리티 설계. 초기에는 셧다운 시점에 즉시 알림을 전송하려 했으나, Windows의 네트워크 서비스 조기 종료로 인한 패킷 손실 및 전송 실패라는 기술적 제약에 직면함.
Technical Solution
- 셧다운 시점의 실시간 전송 방식에서 부팅 후 사후 분석 방식으로 아키텍처 전환
- Windows Event Log의 Event ID(1074, 6006, 6008)를 추적하여 이전 종료 상태를 판별하는 상태 복구 로직 구현
- Windows Registry(HKEY_CURRENT_USER) 등록을 통한 사용자 로그인 시 자동 실행 메커니즘 구축
- .env 파일을 활용한 Credential 분리 및 Gitignore 설정을 통한 보안 노출 방지
- PyInstaller와 Inno Setup을 결합하여 Python 스크립트를 독립 실행형 EXE 및 설치 패키지로 배포
실천 포인트
1. 네트워크 의존성이 높은 작업은 OS 종료 프로세스보다 부팅 후 상태 확인(State Recovery) 방식으로 설계할 것
2. 외부 API Key 등 민감 정보는 소스코드와 완전히 분리하여 환경 변수나 설정 파일로 관리할 것
3. 단순 스크립트 배포 시 사용자 경험을 위해 Installer와 Auto-start 등록 과정을 자동화할 것