From 01770e21d058ee2da19fc54b4b095b772077d5ec Mon Sep 17 00:00:00 2001 From: cw2007 Date: Mon, 20 Jul 2026 09:27:26 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20=ED=94=84=EB=A1=9C=EC=A0=9D=ED=8A=B8=20?= =?UTF-8?q?=EC=86=8C=EA=B0=9C=EC=84=9C=20=EC=B6=94=EA=B0=80=20(=EC=8B=9C?= =?UTF-8?q?=EC=8A=A4=ED=85=9C=20=EA=B0=9C=EC=9A=94=C2=B7SMS=20=EB=B0=9C?= =?UTF-8?q?=EC=86=A1=20=EC=8B=9C=EC=A0=90=C2=B7=EB=8C=80=EC=8B=9C=EB=B3=B4?= =?UTF-8?q?=EB=93=9C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 담당자 대상 소개 문서 — 센서 소개가 아닌 프로젝트 전체 관점: - 시스템 흐름: 현장 노드 → 서버(서명검증·임계판정) → 담당자 SMS·대시보드. - 언제·누구에게 문자가 가나: 문자 14종 발송 조건(화재의심 PM>35/75, 온습도, 결로, 누수, 오프라인, 에스컬레이션, 잔액, 정기점검) + 수신 계층(현장별 담당/전역/야간 2차) + 쿨다운·디바운스. - 웹 대시보드 구성: 상태 배너·KPI 6타일·알림/대응 패널·탭 5종·예방 신호. - 운영 임계 요약 + PMS7003 화재 보조 조기징후 유의(인증 감지기 아님). 자기완결 HTML, 브라우저 렌더 검증. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_015Dj4n17ZvGAhga6D4pNRjn --- docs/시스템_소개서-v2606-20260719.html | 280 +++++++++++++++++++++++++ 1 file changed, 280 insertions(+) create mode 100644 docs/시스템_소개서-v2606-20260719.html diff --git a/docs/시스템_소개서-v2606-20260719.html b/docs/시스템_소개서-v2606-20260719.html new file mode 100644 index 0000000..7483841 --- /dev/null +++ b/docs/시스템_소개서-v2606-20260719.html @@ -0,0 +1,280 @@ + + + + + +서버실 통합 모니터링 시스템 · 프로젝트 소개서 + + + +
+ +
+

서버실 통합 모니터링 · leak_sms_v3

+

서버실 통합 모니터링 시스템 — 프로젝트 소개서

+

센서가 감지한 이상을 담당자 문자(SMS)로 즉시 알리고, 웹 대시보드에서 전체 현황을 + 한눈에 보는 시스템입니다. 이 문서는 시스템이 어떻게 동작하는지, 언제 누구에게 문자가 가는지, + 웹사이트에서 무엇을 볼 수 있는지를 정리합니다.

+
+ 대상: 서버실 · 문서고 (항온항습) + 감시: 누수 · 화재의심(PM) · 온습도 · 결로 · 장비상태 + 버전 v2606 · 2026-07 +
+
+ + +
+

1시스템 개요 — 무엇을, 어떻게

+

현장 센서 장비(라즈베리파이)가 측정·감지한 값을 중앙 서버로 보내면, 서버가 이상 여부를 + 판정해 담당자에게 문자를 보내고 대시보드에 표시합니다. 이상 판정 기준은 모두 서버에 있어, + 장비를 다시 만지지 않고 값만 바꿀 수 있습니다.

+ +
+
① 현장 센서 노드누수·온습도·미세먼지(PM)·카메라. 측정/감지 후 서버로 전송.
+
→
+
② 중앙 서버서명 검증 → 저장(MySQL) → 이상 판정(임계값) → 문자·대시보드.
+
→
+
③ 통지담당자 SMS 발송.
+
→
+
④ 웹 대시보드전 현장 현황·추이·이력 표시.
+
+

전송 구간은 전 노드 공통으로 HMAC-SHA256 서명해 위·변조를 차단합니다. + 판정 기준(임계값)은 서버 설정 파일 config.local.php 에서 현장에 맞춰 조정합니다.

+ +

노드 구성

+
+ + + + + + + + + + + + + + + + +
노드탑재측정/감지보고 주기(기본)
누수 노드누수 프로브 (필요 시 카메라·SHT30·PMS7003 확장)누수 유무 (확장 시 온습도·미세먼지·현장 사진)정상 10분 / 누수 중 10초
온습도 노드SHT30 (온습도 모듈)온도 · 습도1시간
상태 표시기 (선택)소형 디스플레이 (Zero 2 W)센서 아님 — 현황을 현장에 표시—
+
+

확장 시 미세먼지(PM)·온습도는 같은 노드에 함께 실려 하나의 현장 번호로 보고되며, + 서버가 종류를 구분해 별도로 판정합니다. 배선 상세는 센서 형태·내용 보고서를 참조하세요.

+
+ + +
+

2언제 · 누구에게 문자가 가나

+

이상이 생기면 해당 현장 담당자에게 문자가 즉시 발송됩니다. 문자는 짧은 단문(1건)으로 + [종류] 위치 / 값·상태 / 시각 형식입니다.

+ +

수신자 — 담당자 지정 방식

+
+

현장별 담당 그룹

현장(센서)마다 받을 담당자를 따로 지정합니다. 그 현장의 경보는 지정된 담당자에게만 갑니다.

SENSOR_RECIPIENTS

+

기본(전역) 수신자

현장별 지정이 없으면 기본 담당자에게 갑니다. 시스템 공통 통지(정기점검·잔액)도 여기로.

SMS_RECIPIENTS

+

2차(야간) 담당

경보가 오래 미복구되면 상급/야간 담당에게 추가로 한 번 더 알립니다(에스컬레이션).

SMS_RECIPIENTS_TIER2

+
+ +

문자 종류 · 발송 조건

+
+ + + + + + + + + + + + + + + + + + + + +
문자(태그)언제 가나 (기본값)수신반복 억제
[화재의심]미세먼지 PM2.5 > 35 또는 PM10 > 75 ㎍/㎥ (연기 급증 = 화재 조기징후)현장 담당30분
[고온경보]온도 > 30℃현장 담당30분
[저온경보]온도 < 10℃현장 담당30분
[고습경보]습도 > 70%현장 담당30분
[저습경보]습도 < 20%현장 담당30분
[결로주의]결로마진(온도−이슬점) ≤ 3℃ — 표면 결로·장비 손상 위험현장 담당30분
[누수감지]누수 확정(60초 지속 확인 후). 물 튐 오탐 방지현장 담당30분
[누수복구]누수 해소 확정(180초 지속 확인). 직전 감지가 있었을 때만현장 담당1회
[정상복귀]온습도가 임계 안쪽으로 회복(여유 확보) 시현장 담당1회
[장비 오프라인]보고가 끊김 — 누수/PM 노드 약 20분, 온습도 노드 약 125분 무응답현장 담당재시도 보장
[장비 복구]끊겼던 통신이 재개될 때현장 담당1회
[에스컬레이션]임계 경보가 30분 이상 미복구로 지속 → 2차(야간) 담당에게 추가 통지2차(TIER2)에피소드당 1회
[SMS 잔액부족]문자 발송 잔여가 30건 이하 — 경보 채널이 조용히 죽는 것 사전 방지기본(전역)6시간
[정기점검]매일 09시 이후 1회 — 센서 정상수·최근수신·잔여 요약(생존신호)기본(전역)1일 1회
+
+ +
+

“정기점검” 문자의 뜻: 매일 1통 오는 안부 문자입니다. 이 문자가 안 오면 경보 채널 + 전체(서버·문자망)에 문제가 있다는 신호이니 점검하세요. 즉, 담당자는 “이상 문자가 오면 대응, 안부 문자가 안 오면 점검”만 기억하면 됩니다.

+
+ +

같은 경보가 문자 폭탄이 되지 않는 이유

+
    +
  • 재발송 억제(쿨다운): 같은 종류 경보는 30분에 1번만. 이상이 지속돼도 계속 울리지 않습니다.
  • +
  • 누수 떨림 방지(디바운스): 감지 60초·복구 180초를 지속해야 “확정”해 발송 — 물기 튐으로 감지↔복구가 반복되는 것을 차단.
  • +
  • 에피소드 인지: 정상 복귀 후 다시 이상이 생기면 별개 사건으로 보고 즉시 재발송(놓치지 않음).
  • +
  • 미복구 에스컬레이션: 30분 지나도 안 풀리면 2차(야간) 담당에게 한 번 더.
  • +
+

항온항습 환경 특성상 값이 원래 평탄하므로 “센서 값 고착” 경보는 꺼 두었습니다(정상 평탄값 오탐 방지).

+
+ + +
+

3웹사이트(대시보드)에서 보는 것

+

브라우저로 접속해 로그인(2단계 인증)하면 전 현장 현황을 한 화면에서 봅니다. 화면은 자동 새로고침됩니다.

+ +

화면 상단 — 항상 고정

+
+

시스템 상태 배너

지금 가장 중요한 상태를 큰 글씨로. 경보 시 어느 센서·값·언제부터·문자 발송 결과까지 명시. 우선순위: 누수 → 화재의심 → 온습도 → 오프라인 → 정상.

+

핵심 KPI 6타일

경보 센서 · 오프라인(온라인 수) · 미복구 누수 · 오늘 경보 · SMS 잔여 · 중요 진단. 타일을 누르면 해당 탭으로.

+

알림 스트립 · 대응 패널

즉시 조치가 필요한 것만 1줄씩. 위험 시 상황별 대응 체크리스트와 담당 연락처를 함께 표시.

+
+ +

탭 — 상세 화면

+
+ + + + + + + + + + + + + + +
탭보는 내용
실시간 현황 live현장별 카드 — 온습도·화재감시(PM)·누수 상태와 최신 측정값, 오프라인/경보 배지.
추이·통계 trend온습도 추이 차트, 화재감시(PM) 추이 차트, 7일 경보 추이, 경보 종류 도넛(30일), 경보 최다 센서 순위.
이력 조회 history최근 온습도 측정 30건, 최근 화재감시(PM) 측정 30건, 문자 발송 이력.
시스템 점검 system자가진단 결과, 적용 중인 임계·설정 요약, SMS 잔여·발송 실패 현황.
전체(인쇄용) all위 탭을 한 페이지로 합본 — 출력·보고용.
+
+ +

예방 신호 — “터지기 전”

+

측정 추세를 분석해 경보가 발생하기 전 여유·도달 예상 시간(ETA)·이슬점 마진을 대시보드에 미리 표시하고, + 위험 시 대응 절차를 안내합니다(추가 장비·DB 변경 없이 기존 측정만으로 산출).

+ +
+ 설치 점검 (테스트 문자 발송) + 월간 보고 + 보안 증적 +
+

상단 메뉴에서 위 부가 페이지로 이동할 수 있습니다.

+
+ + +
+

4운영 요약 · 유의사항

+ +

기본 임계값 (조정 가능)

+
+ + + + + + + + + + +
항목기본값항목기본값
화재의심 PM2.5> 35 ㎍/㎥고온> 30 ℃
화재의심 PM10> 75 ㎍/㎥저온< 10 ℃
고습 / 저습> 70% / < 20%결로마진≤ 3 ℃
경보 재발송 쿨다운30 분에스컬레이션30 분 미복구
오프라인 판정(누수/PM)약 20 분오프라인 판정(온습도)약 125 분
SMS 잔액 경고≤ 30 건정기점검 발송매일 09 시
+
+

모든 값은 서버 설정(config.local.php)에서 현장에 맞게 조정할 수 있으며, 현장 장비를 다시 만질 필요가 없습니다.

+ +
+

화재 감지 관련 유의: 미세먼지 센서(PMS7003)는 광학 먼지 센서로, 연기·먼지를 완벽히 + 구분하지 못합니다. 항온항습 서버실은 평상시 먼지가 거의 없어 먼지 급증을 화재의 조기 징후로 + 활용하는 것이며, 인증 화재감지기가 아닙니다. 보조 조기경보로 사용하고, 법정 소방 설비(인증 + 연기/열 감지기)는 별도로 병행해야 합니다.

+
+
+ + + +
+ +