monitoring.crowny.org — 모니터링 대시보드 v2
��요
52개 서비스를 실시간 감시하는 통합 모니터링 시스템. 한선씨로 작성된 HTTP 서버 + bash 프로브.
구현 완료 내역
1. 서버 (모니터링.한선)
포트: 9850
아키텍처: HTML/CSS/JS 3분리 (VM 32KB 문자열 제한 대응)
��드포인트 11개:
/ — 대시보드 HTML
/style.css — 스타일시트
/app.js — 프론트엔드 앱
/api/status — 52개 서비스 상태 JSON
/api/health — 서버 자체 건강
/api/weak — 약점 분석 (점수 기반)
/api/uptime — 서비스별 가동률 (총체크/성공)
/api/latency — 최근 12회 레이턴시 히스토리
/api/incidents — 사건 로그
/api/history — 24h 추이 (288 엔트리)
/api/restarts — 자동 재시작 로그2. 프로브 (probe.sh)
- 52개 서비스 병렬 curl 헬스체크
- 가동률 추적:
monitoring-uptime.dat — 서비스별 총체크/성공횟수
- 레이턴시 히스토리:
monitoring-latency.jsonl — 5분마다 전 서비스 레이턴시
- 자동 재시작: Tier 1-2 DOWN 감지 시
crowny-infra restart 자동 호출
- 데스크탑 알림: DOWN 이벤트 시 macOS 알림 (osascript)
- 약점 분석: 점수 기반 (down=100, degraded=50, slow=latency/100, incidents*10)
3. 대시보드 기능
- 서비스 카드 (Tier별 그룹, 상태 색상)
- 가동률 뱃지 (99%+/95%+/이하)
- 레이턴시 스파크라인 (카드 내 미니차트)
- Tier 필터 (All/T1/T2/T3/DOWN)
- 검색 (서비스명 실시간 필터)
- 약�� 분석 패널 (점수 기반 우선순위)
- 24h 추이 바차트
- 사건 로그 (DOWN/RECOVERED/DEGRADED 색상)
- 레이턴��� Top 20 패널
- 자동 재시작 로그 패널
- 알림 벨 (DOWN 이벤트 수 뱃지)
- 30초 자동 새로고침
4. 인프라
- LaunchAgent:
com.crowny.monitoring-probe — 5분(300초) 주기 프로브
- 게이트웨이: monitoring.crowny.org → 127.0.0.1:9850
포트 충돌 해결
- crowny-defence를 9850→9852로 이동 (server.js + gateway.yaml 수정)
파일 위치
- 서버:
/Users/ef/crowny-monitoring/모니터링.한선
- 프로브:
/Users/ef/crowny-monitoring/probe.sh
- 관리:
/Users/ef/crowny-monitoring/start.sh
- 데이터:
/Users/ef/.crowny-infra/logs/monitoring-*.{json,jsonl,dat,log}
잔여 이슈
- gateway HTTP 301 (degraded) — HTTPS 리다이렉트 때문, 정상 동작
파일존재() 항상 -1 반환 — 읽기() 직접 호출로 우회