서버실 통합 모니터링 · leak_sms_v3
센서가 감지한 이상을 담당자 문자(SMS)로 즉시 알리고, 웹 대시보드에서 전체 현황을 한눈에 보는 시스템입니다. 이 문서는 시스템이 어떻게 동작하는지, 언제 누구에게 문자가 가는지, 웹사이트에서 무엇을 볼 수 있는지를 정리합니다.
현장 센서 장비(라즈베리파이)가 측정·감지한 값을 중앙 서버로 보내면, 서버가 이상 여부를 판정해 담당자에게 문자를 보내고 대시보드에 표시합니다. 이상 판정 기준은 모두 서버에 있어, 장비를 다시 만지지 않고 값만 바꿀 수 있습니다.
전송 구간은 전 노드 공통으로 HMAC-SHA256 서명해 위·변조를 차단합니다.
판정 기준(임계값)은 서버 설정 파일 config.local.php 에서 현장에 맞춰 조정합니다.
| 노드 | 탑재 | 측정/감지 | 보고 주기(기본) |
|---|---|---|---|
| 누수 노드 | 누수 프로브 (필요 시 카메라·SHT30·PMS7003 확장) | 누수 유무 (확장 시 온습도·미세먼지·현장 사진) | 정상 10분 / 누수 중 10초 |
| 온습도 노드 | SHT30 (온습도 모듈) | 온도 · 습도 | 1시간 |
| 상태 표시기 (선택) | 소형 디스플레이 (Zero 2 W) | 센서 아님 — 현황을 현장에 표시 | — |
확장 시 미세먼지(PM)·온습도는 같은 노드에 함께 실려 하나의 현장 번호로 보고되며, 서버가 종류를 구분해 별도로 판정합니다. 배선 상세는 센서 형태·내용 보고서를 참조하세요.
이상이 생기면 해당 현장 담당자에게 문자가 즉시 발송됩니다. 문자는 짧은 단문(1건)으로
[종류] 위치 / 값·상태 / 시각 형식입니다.
현장(센서)마다 받을 담당자를 따로 지정합니다. 그 현장의 경보는 지정된 담당자에게만 갑니다.
SENSOR_RECIPIENTS
현장별 지정이 없으면 기본 담당자에게 갑니다. 시스템 공통 통지(정기점검·잔액)도 여기로.
SMS_RECIPIENTS
경보가 오래 미복구되면 상급/야간 담당에게 추가로 한 번 더 알립니다(에스컬레이션).
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통 오는 안부 문자입니다. 이 문자가 안 오면 경보 채널 전체(서버·문자망)에 문제가 있다는 신호이니 점검하세요. 즉, 담당자는 “이상 문자가 오면 대응, 안부 문자가 안 오면 점검”만 기억하면 됩니다.
항온항습 환경 특성상 값이 원래 평탄하므로 “센서 값 고착” 경보는 꺼 두었습니다(정상 평탄값 오탐 방지).
브라우저로 접속해 로그인(2단계 인증)하면 전 현장 현황을 한 화면에서 봅니다. 화면은 자동 새로고침됩니다.
지금 가장 중요한 상태를 큰 글씨로. 경보 시 어느 센서·값·언제부터·문자 발송 결과까지 명시. 우선순위: 누수 → 화재의심 → 온습도 → 오프라인 → 정상.
경보 센서 · 오프라인(온라인 수) · 미복구 누수 · 오늘 경보 · SMS 잔여 · 중요 진단. 타일을 누르면 해당 탭으로.
즉시 조치가 필요한 것만 1줄씩. 위험 시 상황별 대응 체크리스트와 담당 연락처를 함께 표시.
| 탭 | 보는 내용 |
|---|---|
| 실시간 현황 live | 현장별 카드 — 온습도·화재감시(PM)·누수 상태와 최신 측정값, 오프라인/경보 배지. |
| 추이·통계 trend | 온습도 추이 차트, 화재감시(PM) 추이 차트, 7일 경보 추이, 경보 종류 도넛(30일), 경보 최다 센서 순위. |
| 이력 조회 history | 최근 온습도 측정 30건, 최근 화재감시(PM) 측정 30건, 문자 발송 이력. |
| 시스템 점검 system | 자가진단 결과, 적용 중인 임계·설정 요약, SMS 잔여·발송 실패 현황. |
| 전체(인쇄용) all | 위 탭을 한 페이지로 합본 — 출력·보고용. |
측정 추세를 분석해 경보가 발생하기 전 여유·도달 예상 시간(ETA)·이슬점 마진을 대시보드에 미리 표시하고, 위험 시 대응 절차를 안내합니다(추가 장비·DB 변경 없이 기존 측정만으로 산출).
상단 메뉴에서 위 부가 페이지로 이동할 수 있습니다.
| 항목 | 기본값 | 항목 | 기본값 |
|---|---|---|---|
| 화재의심 PM2.5 | > 35 ㎍/㎥ | 고온 | > 30 ℃ |
| 화재의심 PM10 | > 75 ㎍/㎥ | 저온 | < 10 ℃ |
| 고습 / 저습 | > 70% / < 20% | 결로마진 | ≤ 3 ℃ |
| 경보 재발송 쿨다운 | 30 분 | 에스컬레이션 | 30 분 미복구 |
| 오프라인 판정(누수/PM) | 약 20 분 | 오프라인 판정(온습도) | 약 125 분 |
| SMS 잔액 경고 | ≤ 30 건 | 정기점검 발송 | 매일 09 시 |
모든 값은 서버 설정(config.local.php)에서 현장에 맞게 조정할 수 있으며, 현장 장비를 다시 만질 필요가 없습니다.
화재 감지 관련 유의: 미세먼지 센서(PMS7003)는 광학 먼지 센서로, 연기·먼지를 완벽히 구분하지 못합니다. 항온항습 서버실은 평상시 먼지가 거의 없어 먼지 급증을 화재의 조기 징후로 활용하는 것이며, 인증 화재감지기가 아닙니다. 보조 조기경보로 사용하고, 법정 소방 설비(인증 연기/열 감지기)는 별도로 병행해야 합니다.