TL;DR
- PulseFix는 15~30초 간격으로 프로덕션 API를 비동기 프로빙하고, HTTP 500 오류를 최근 Git diff와 대조해 원인을 진단한 뒤 GitHub 수정 PR을 자동 생성함
- 스택 트레이스와 요청 페이로드를 파싱하고 Gemini 2.5 Flash로 오류와 커밋 변경 사항의 맥락을 분석함
- 분석 결과를 통합 diff(unified diff) 패치로 생성하고
pulsefix/incident-id브랜치와 GitHub Pull Request를 자동 생성함 - 외부 LLM API 키가 없어도 결정론적 휴리스틱 엔진으로 유효한 패치를 생성하는 오프라인 대응 경로를 제공함
- Telegram 알림과
shadcn/ui대시보드에서 근본 원인, 영향받은 파일의 줄 번호, PR 링크, 실시간 지표와 diff를 확인함
자율 복구형 SRE 흐름
PulseFix Async Prober가 프로덕션 API 엔드포인트를 15~30초 간격으로 프로빙함- 비동기
httpx프로브가 10ms 미만의 응답 시간을 측정하고 TTFB(Time to First Byte)와 SSL 유효성을 확인함 - API에서 HTTP 500 내부 오류 또는 예외가 발생하면 인시던트 수집기와 스택 트레이스 수집기가 오류를 수신함
- 자율 AI SRE 엔진이 다음 단계를 수행함
- 트레이스백과 페이로드를 파싱함
- GitHub 커밋 diff를 가져옴
- 오류와 코드 변경 사항의 맥락을 연결함
Gemini 2.5 FlashSRE 분석기가 근본 원인을 평이한 영어로 설명함- 통합 diff 패치를 생성함
- 자동 해결 및 알림 허브가 다음 작업을 수행함
pulsefix/incident-id형식의 Git 브랜치를 생성함- GitHub Pull Request를 엶
- 근본 원인과 PR 링크를 포함한 상세 Telegram 알림을 발송함
- 실시간 사이버펑크 SRE 대시보드에 인시던트를 표시함
핵심 기능과 기술적 특징
- 고빈도 비동기 프로빙: 10ms 미만의 비동기
httpx프로브로 TTFB와 SSL 유효성을 측정함 - AI 우선 근본 원인 분석: 스택 트레이스, 처리되지 않은 예외, 최근 커밋 diff를 평가해 정확한 근본 원인을 평이한 영어로 설명함
- 자율 복구 Pull Request: 기능 브랜치를 자동 생성하고 수정 사항을 커밋한 뒤 통합 diff와 함께 GitHub Pull Request를 엶
- 오프라인 복원력 휴리스틱 엔진: 외부 LLM API 키가 없어도 결정론적 패턴 매칭으로 유효한 통합 패치를 생성함
- 실행 가능한 Telegram SRE 알림: 근본 원인 분석, 영향받은 파일의 줄 번호, PR 병합으로 연결되는 직접 버튼을 포함한 상세 인시던트 알림을 제공함
shadcn/ui미니멀 대시보드: 눈의 피로를 줄이는 zinc 테마,Chart.js기반 실시간 지연 시간 스트림, 실시간 모의 인시던트 주입, 시각적 통합 diff 검사기를 제공함
빠른 시작
- 저장소를 복제하고 의존성을 설치함
- 저장소: https://github.com/salomh46-rgb/pulseapi-monitoring-saas
server/requirements.txt의 패키지를 설치함- 환경 변수를 선택적으로 구성함
TELEGRAM_BOT_TOKEN: Telegram 봇 토큰GEMINI_API_KEY: Gemini API 키이며, 생략하면 지능형 휴리스틱 대체 경로를 사용함GITHUB_TOKEN: GitHub 토큰이며, 생략하면 PR 생성을 모의 실행함server.main의 FastAPI 애플리케이션을uvicorn으로 포트 8000에서 리로드 모드로 실행함- 브라우저에서
client/index.html을 열고 “Simulate 500 & Auto-PR”을 클릭하면 자율 복구 흐름이 실시간으로 실행됨
자동화 테스트 모음
pytest로 상세 모드 테스트를 실행함- 전체 7개 핵심 테스트가 통과함
- 엔드포인트 상태와 텔레메트리 프로브
- 공개 상태 페이지 데이터 무결성
KeyError,TypeError,ZeroDivision오류에 대한 휴리스틱 분석기 파싱- 자율 인시던트 수집과 자율 복구 PR 생성
- 동기 방식
/api/incidents/{id}/self-heal실행
Hacker News 및 Product Hunt 게시 문안
- 제목: Show HN: PulseFix – Git diff로 500 오류를 진단하고 수정 PR을 여는 API 모니터
- 개발자들은 PagerDuty나 Sentry에서
/api/checkout의 “500 Internal Server Error” 알림을 받고 새벽에 깨어난 뒤, 로그를 확인하고 GitHub에서 스키마를 변경한 커밋을 찾으며 패치를 작성하는 과정을 거치게 됨 - PulseFix는 수동 모니터링을 능동적인 SRE 엔지니어 흐름으로 전환함
- 엔드포인트를 15~30초마다 프로빙함
- 500 오류 발생 시 오류 트레이스백을 가로챔
- Gemini Flash로 최근 Git 커밋과 충돌을 연관 분석함
- 안전한 통합 diff를 합성하고 GitHub Pull Request를 자동으로 엶
- “오류 원인과 수정 PR”을 Telegram으로 알림
- 프로젝트는 오픈 소스이며
FastAPI와SQLite로 작성되고, 대시보드에 전체 라이브 데모를 포함함 - GitHub: https://github.com/salomh46-rgb/pulseapi-monitoring-saas
작성자 및 제작자
- 아키텍트: Javohirbek Asqarov (Jasper)
- 포트폴리오: bestportfoliyo-o4z2.vercel.app
- Telegram: @Dr_eviluz
- 이메일: salomh46@gmail.com
라이선스
- MIT License © Javohirbek Asqarov (Jasper)
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요