User Manual · v1.1

그누보드5 운영지킴이 (Site Guardian)
사용 및 설치 설명서

버전 1.1 그누보드 5.5+ 호환 PHP 5.6 ~ 8.3 코어 파일 무수정
Section 01

플러그인 개요

운영지킴이는 그누보드5 / 영카트5 사이트에서 발생하는 PHP 오류·예외·DB 오류를 실시간으로 자동 감지해 데이터베이스에 기록하고, 운영자가 정의한 규칙에 따라 메일·SMS·카카오 알림톡으로 자동 발송하는 플러그인입니다. 그누보드 코어 파일을 수정하지 않고 extend/ 메커니즘만 사용하므로 그누보드 업데이트에 영향을 받지 않습니다.

ℹ️
"고객이 항의하기 전에 운영자가 먼저 안다." 영카트5 결제 오류, 게시판 첨부파일 오류, 데이터베이스 연결 오류 등 운영자가 즉시 알아야 하는 모든 PHP 오류를 자동 감지·통보합니다.
⚠️
SMS · 카카오 알림톡 사용 시 참고
· 운영지킴이는 SMS 알림을 그누보드 기본 SMS(아이코드)로 발송합니다. 별도 플러그인 없이 SMS 알림을 받을 수 있습니다.
· WizardOfCode의 '알리고 카카오알림톡 + SMS + 휴대폰 문자 인증 플러그인'이 설치되어 있으면, SMS는 아이코드 대신 알리고로 발송되며 카카오 알림톡 채널을 추가로 사용할 수 있습니다. (알림톡은 이 플러그인이 있어야만 동작)
· 이 기능은 해당 플러그인이 제공하는 AligoSMS · KakaoAlimtalk 클래스로 동작하며, 같은 알리고 API를 쓰더라도 다른 개발자의 플러그인은 클래스 구조가 달라 호환되지 않습니다.
· 플러그인 없이 그누보드 기본 기능인 이메일·아이코드 SMS만으로도 모든 알림 기능을 정상 사용할 수 있습니다. (알림톡 채널만 제외)
💡
함께 쓰면 좋은 무료 모듈 — SMTP Manager V1
그누보드의 기본 메일 발송(PHP mail 함수)을 SMTP 인증 방식으로 안정화합니다. 운영지킴이의 알림 메일이 스팸 처리될 가능성을 줄여줍니다. 운영지킴이는 SMTP Manager 없이도 정상 동작하며, 필요한 경우에만 함께 사용하시면 됩니다.
📦 다운로드: github.com/wizardofcode-labs/gnuboard5-smtp-manager/releases

주요 기능

분류 기능 설명
오류 캡처 4가지 PHP 오류 자동 감지 일반 에러(Notice/Warning/Deprecated) / 처리되지 않은 예외 / Fatal Error / DB 쿼리 오류
동일 오류 디바운싱 같은 해시로 반복 발생 시 row 하나에 카운트만 증가 (기본 30분 쿨다운)
개인정보 자동 마스킹 이메일·휴대폰·주민번호·카드·비밀번호·절대경로 자동 가림
@ 연산자 억제 존중 사용자가 의도적으로 무시한 오류는 캡처하지 않음
알림 발송 4가지 발송 모드 즉시 발송 / 일일 요약 / 주간 요약 / 시간대 제한
3가지 채널 이메일 (그누보드 mailer / SMTP Manager 자동 연동) · 알리고 SMS · 알리고 카카오 알림톡
알림 규칙 엔진 등급·파일패턴·시간대 매칭 + 우선순위 정렬 + 중복 제거 정책
규칙 매칭 추적 로그 "왜 알림이 왔지/안 왔지?" 9가지 결과 코드로 추적 가능
비용 보호 비상 정지 스위치 의심 폭주 감지 시 즉시 모든 발송 차단
채널별 일일 한도 메일 500 / SMS 50 / 카톡 100건 (조정 가능, 0이면 차단)
야간 무음 SMS / 카톡 기본 22~08시 차단 (메일은 정상)
동일 오류 쿨다운 같은 오류로 같은 수신자에게 30분 내 재발송 차단
재진입 락 발송 함수 무한 루프 차단
관리자 UI 전용 메뉴 그룹 대시보드 / 오류 로그 / 알림 규칙 / 매칭 추적 / 수신자 / 발송 이력 / 테스트 / 환경설정 8개 메뉴
자동 데이터 정리 매칭 로그(7일) / 요약 큐(7~30일) / 해결된 오류 로그(30일) 자동 삭제

시스템 요구사항

항목최소권장
그누보드 버전5.5.x5.6.x 이상
PHP 버전5.67.4 / 8.x
데이터베이스MySQL 5.5 / MariaDB 10.xMySQL 5.7+ / MariaDB 10.4+
PHP 확장(mbstring 권장)mbstring · iconv · curl
메일 발송그누보드 mailer (PHP mail)SMTP Manager v1.0 (자동 연동)
SMS 발송 (선택)그누보드 기본(아이코드 SMS)알리고 SMS·알림톡 플러그인(알리고 발송)
카카오 알림톡 (선택)알리고 알림톡 플러그인 필수알리고 카톡 솔루션 + 비즈센터 사전 등록 템플릿
일일/주간 요약 cron (선택)방문자 트리거 (자동)호스팅 cron 또는 외부 웹 cron

구성 파일

배포 패키지의 src/ 폴더 안에 아래 파일들이 포함되어 있습니다.

src/ ├── extend/ │ └── gb_guardian.extend.php ← 그누보드 진입점 (활성/비활성 분기) │ ├── plugin/gb_guardian/ │ ├── install.php ← 설치 / 자동 마이그레이션 │ ├── README.md ← 빠른 참고용 문서 │ ├── MANUAL.html ← 본 매뉴얼 (현재 문서) │ ├── lib/ ← 13개 핵심 라이브러리 │ │ ├── guardian.lib.php 메뉴 / 컨텍스트 / 등급 매핑 │ │ ├── guardian_admin.lib.php 관리 화면 헬퍼 │ │ ├── guardian_chart.lib.php 대시보드 차트 데이터 │ │ ├── guardian_db.lib.php 마스킹 / DB I/O / 디바운싱 │ │ ├── error_handler.lib.php ★ 4가지 오류 핸들러 │ │ ├── guardian_protector.lib.php ★ 비용 보호 시스템 │ │ ├── guardian_template.lib.php 메일/SMS/카톡 템플릿 렌더링 │ │ ├── guardian_mailer.lib.php 메일 어댑터 (그누보드 mailer 위임) │ │ ├── guardian_aligo_sms.lib.php 알리고 SMS 어댑터 │ │ ├── guardian_aligo_kakao.lib.php 알리고 카톡 어댑터 │ │ ├── guardian_notifier.lib.php ★ 통합 발송 엔진 (8단계 검증) │ │ ├── guardian_rule_engine.lib.php ★ 알림 규칙 매칭 엔진 │ │ ├── guardian_summary.lib.php 일일/주간 요약 + 자동 정리 │ │ └── guardian_dispatcher.lib.php 캡처 후 매칭 엔진 진입점 │ ├── templates/ ← 5개 메시지 템플릿 │ │ ├── mail_default.html 즉시 발송 메일 │ │ ├── sms_default.txt SMS 본문 │ │ ├── kakao_default.txt 카카오 알림톡 본문 │ │ ├── mail_summary_daily.html 일일 요약 메일 │ │ └── mail_summary_weekly.html 주간 요약 메일 │ └── batch/ │ └── summary_cron.php ← cron 트리거 스크립트 │ └── adm/ ← 16개 관리자 페이지 ├── guardian_dashboard.php 대시보드 ├── guardian_log.php 오류 로그 목록 ├── guardian_log_view.php 상세 (AJAX 모달) ├── guardian_log_action.php 로그 일괄 처리 ├── guardian_rule.php 알림 규칙 목록 ├── guardian_rule_form.php 규칙 등록/수정 ├── guardian_rule_update.php 규칙 처리 ├── guardian_rule_match_log.php ★ 매칭 추적 로그 ├── guardian_recipient.php 수신자 목록 ├── guardian_recipient_form.php 수신자 등록/수정 ├── guardian_recipient_update.php 수신자 처리 ├── guardian_notify_log.php 알림 발송 이력 ├── guardian_notify_log_action.php 발송 이력 일괄 처리 ├── guardian_notify_test.php 테스트 발송 ├── guardian_config.php 환경설정 └── guardian_config_update.php 환경설정 처리
Section 02

설치 전 확인사항

설치를 시작하기 전에 아래 항목을 모두 확인해 주세요.

  • 그누보드5(5.5.x 이상)가 정상적으로 설치·운영 중인 상태입니다.
  • 그누보드 관리자 계정(최고관리자)으로 로그인할 수 있습니다.
  • FTP 접속 정보(호스트, 아이디, 비밀번호)를 알고 있습니다.
  • PHP 버전이 5.6 이상입니다 (호스팅 패널에서 확인).
  • 그누보드 관리자 → 환경설정 → "메일발송 사용"이 ON 상태입니다 (메일 채널 사용 시).
  • 그누보드 관리자 → 환경설정 → "관리자 메일"에 메일 주소가 입력되어 있습니다 (cron 토큰 자동 생성 + 발신자 표시).
  • SMS / 카톡을 쓸 경우, 알리고 솔루션이 별도 설치되어 있고 그누보드 환경설정에 인증 정보가 입력되어 있습니다.
⚠️
SMS / 카톡 비용 안내: 알리고 SMS 와 카카오 알림톡은 건당 비용이 발생합니다. 운영지킴이는 비상정지·일일한도·야간무음·쿨다운·재진입락 5중 보호 시스템을 기본 제공하지만, 환경설정 변경이나 외부 요인에 의한 비용은 운영자 책임입니다. 본 매뉴얼 9절(비용 보호 시스템)을 반드시 숙지하세요.
ℹ️
SMTP Manager 연동: SMTP Manager v1.0 이 설치되어 있으면 운영지킴이의 메일 발송이 자동으로 SMTP 인증을 거칩니다. 별도 설정이 필요 없습니다. 미설치 환경에서는 PHP mail() 폴백으로 발송됩니다.
Section 03

FTP 파일 업로드

FTP 클라이언트(FileZilla, Cyberduck 등)를 사용하여 파일을 서버에 업로드합니다. 파일을 올려야 할 위치는 그누보드가 설치된 루트 폴더를 기준으로 합니다.

ℹ️
이 설명서에서 "그누보드 루트"index.php, common.php, config.php 등 그누보드 핵심 파일이 있는 폴더를 말합니다. 예: /home/user/public_html/

① extend/ 폴더 업로드

extend/ 폴더는 그누보드의 자동 부트스트랩 메커니즘이 동작하는 폴더입니다. 운영지킴이의 진입점 파일 1개를 업로드합니다.

업로드할 파일서버 업로드 위치
/extend/gb_guardian.extend.php 그누보드루트/extend/gb_guardian.extend.php
ℹ️
서버에 extend/ 폴더가 없는 경우 새로 생성한 후 파일을 업로드합니다. 그누보드 5.4 이상에서는 기본 포함되어 있습니다.

② plugin/ 폴더 업로드

플러그인 핵심 파일들입니다. 서버의 plugin/ 폴더 안에 gb_guardian 폴더 전체를 업로드합니다.

업로드 대상서버 업로드 위치
/plugin/gb_guardian/ 폴더 전체 그누보드루트/plugin/gb_guardian/

업로드 후 서버의 폴더 구조가 아래와 같은지 확인합니다.

그누보드루트/plugin/gb_guardian/ ├── install.php ├── README.md ├── MANUAL.html ├── lib/ (13개 .php 파일) ├── templates/ (5개 메시지 템플릿) └── batch/ └── summary_cron.php

③ adm/ 폴더 파일 업로드

관리자 페이지 파일 16개를 그누보드의 adm/ 폴더에 업로드합니다.

업로드 대상서버 업로드 위치
/adm/guardian_*.php 16개 파일 그누보드루트/adm/ (각 파일 그대로 복사)
⚠️
주의: 본 플러그인은 그누보드 adm/ 폴더에 새 파일을 추가하는 것이며, 기존 파일을 수정하거나 삭제하지 않습니다. 동일한 이름의 파일이 이미 존재하지는 않으나, 만일 충돌하면 원본 파일을 백업 후 진행하세요.
파일 업로드가 완료되었다면 설치 스크립트 실행 단계로 넘어갑니다.
Section 04

설치 스크립트 실행

파일 업로드가 완료되면 브라우저에서 설치 스크립트를 실행합니다. 설치 과정에서 운영지킴이에 필요한 DB 구조가 자동 생성되며, 기존에 설치된 적이 있다면 불필요한 컬럼은 자동 제거(마이그레이션)됩니다.

1
그누보드 관리자로 로그인
설치 스크립트는 관리자 권한이 필요합니다. 먼저 그누보드 최고관리자 계정으로 로그인해 주세요.
2
설치 URL 접속
브라우저 주소창에 아래 URL을 입력하고 접속합니다. yourdomain.com 부분을 실제 사이트 주소로 바꿔 주세요.
https://yourdomain.com/plugin/gb_guardian/install.php
3
설치 결과 확인
화면에 "운영지킴이 v1.1 설치 결과" 페이지가 표시됩니다. [OK] 표시가 모든 컬럼·테이블에 보이고, 환경 점검 결과가 나타나면 정상 설치된 것입니다.
4
관리자 메뉴 확인
그누보드 관리자 페이지를 새로고침(F5)하면 좌측 메뉴에 "운영지킴이" 그룹이 추가된 것을 확인할 수 있습니다.
ℹ️
설치 스크립트는 CREATE TABLE IF NOT EXISTS + SHOW COLUMNS LIKE 사전 체크 패턴을 사용해 100회 재실행해도 안전합니다. 기존 설정값은 덮어쓰지 않고 유지됩니다.

생성되는 DB 테이블

테이블명 (기본 prefix: g5_)용도
g5_guardian_log오류 로그 (등급/메시지/파일/라인/스택트레이스 + 발생 횟수 누적)
g5_guardian_rule알림 규칙 (등급/패턴/모드/채널/수신자 등)
g5_guardian_recipient수신자 (이름/이메일/휴대폰/활성 여부)
g5_guardian_notify_log알림 발송 이력 (성공/실패/사유)
g5_guardian_summary_queue일일/주간 요약 큐 (적재 → 시각 도달 시 발송 → 처리 완료 표시)
g5_guardian_rule_match_log★ 규칙 매칭 추적 로그 (디버깅용, 7일 자동 삭제)

추가되는 g5_config 컬럼

그누보드 환경설정 테이블에 cf_guardian_* 접두사로 환경 설정 컬럼 16개가 추가됩니다. 환경설정 화면에서 모두 GUI로 변경 가능합니다.

Section 05

활성화 / 빠른 시작

설치 직후 운영지킴이는 비활성 상태(off) 입니다. 활성화 → 수신자 등록 → 첫 알림 규칙 등록까지 순서대로 진행하면 약 3분 안에 첫 알림을 받을 수 있습니다.

첫 알림 받기 (3분 가이드)

1
활성화
그누보드 관리자 → 좌측 메뉴 운영지킴이 → 환경설정"운영지킴이 사용" 체크박스 ON → 저장. 활성화 직후부터 모든 PHP 오류가 자동 캡처됩니다.
2
수신자 등록
운영지킴이 → 수신자 관리"+ 수신자 추가" → 이름·이메일 입력 (휴대폰은 SMS/카톡 사용 시) → 저장.
3
첫 알림 규칙 등록
운영지킴이 → 알림 규칙 관리"+ 규칙 추가" → 다음 항목 입력:
  • 규칙명: Fatal/Error 즉시 메일
  • 등급: ☑ FATAL ☑ ERROR ☑ EXCEPTION 체크
  • 모드: ⚡ 즉시 발송
  • 채널: 📧 이메일
  • 수신자: 위에서 등록한 수신자 체크
→ 저장.
4
테스트 발송으로 검증
운영지킴이 → 테스트 발송 → 채널/수신자 선택 → 발송. 등록한 수신자 메일함에 도착하는지 확인합니다.
이후 사이트에서 발생하는 모든 FATAL/ERROR/EXCEPTION 등급 오류가 자동으로 등록된 메일로 발송됩니다.

SMS / 카카오 알림톡 사용

알리고 SMS / 카톡 솔루션이 별도 설치되어 있어야 합니다. 솔루션 미설치 환경에서는 SMS/카톡 채널 발송이 자동으로 차단되며, 메일 채널은 정상 동작합니다.

1
알리고 연동 활성화
환경설정 → "알리고 SMS 연동" 체크 → 저장. 알리고 플러그인 인증 정보 (cf_aligo_id, cf_aligo_key, cf_aligo_sender) 가 자동 사용됩니다.
2
수신자에 휴대폰 등록
수신자 관리 → 수정 → 휴대폰 입력 (예: 01012345678, 하이픈 자동 제거).
3
카카오 알림톡 사용 시 추가 설정
환경설정 화면의 "📋 카카오 알림톡 사용 전 필수 안내" 박스에서 권장 본문 템플릿을 복사 → 카카오 비즈메시지 센터에 사전 등록 → 발급된 템플릿 코드 를 환경설정의 "카톡 알림톡 템플릿 코드" 입력란에 입력.
4
규칙 채널 변경
알림 규칙 등록 시 채널을 SMS 또는 카카오 알림톡 으로 선택.
⚠️
카카오 알림톡 주의: 알림톡 본문은 카카오 비즈센터에 사전 등록·승인된 템플릿과 글자 단위로 일치해야 발송됩니다. 본문 수정 시 plugin/gb_guardian/templates/kakao_default.txt 와 카카오 비즈센터 양쪽 모두 수정·재심사가 필요합니다.

일일/주간 요약 메일 받기

1
요약 모드 규칙 등록
알림 규칙 관리 → "+ 규칙 추가" → 모드: 📅 일일 요약 또는 📆 주간 요약 선택 → 발송 시각 / 요일 설정 → 저장. 채널은 항상 메일입니다.
2
트리거 모드 선택
환경설정 → "요약 발송 트리거 모드":
  • 방문자 트리거 (기본) — cron 사용 불가 환경. 사이트 방문자 트래픽으로 자동 트리거 (1% 확률 + 5분 가드).
  • cron 직접 등록 — 호스팅 cron 가능 환경. 정확한 시각에 발송됨. 6절 참조.
3
동작 확인
환경설정 화면의 "마지막 처리" 시각이 갱신되면 트리거가 정상 동작 중입니다. 발송할 큐가 비어있으면 메일은 보내지 않으므로 시각만 갱신될 수 있습니다 — 정상 동작입니다.
Section 06

cron 등록 (선택)

일일/주간 요약 메일을 정확한 시각에 받으려면 cron 등록을 권장합니다. cron 등록이 어려운 환경(저가 호스팅 등)에서는 환경설정에서 "방문자 트리거" 모드로 두면 사이트 방문자 트래픽에 묻혀 자동 실행됩니다.

ℹ️
cron 토큰: URL 방식 cron 사용 시 보안 토큰이 필요합니다. 토큰은 관리자 메일 prefix 16자(영숫자) + 랜덤 16자 hex 로 자동 생성되며, 환경설정 화면의 "cron 인증 토큰" 입력란에 표시됩니다. 직접 수정하시거나 "🔄 랜덤 재생성" 버튼으로 새 값을 발급받을 수 있습니다. 토큰을 변경하시면 cron 등록도 함께 갱신해야 합니다.

방법 1 — SSH 접속 가능한 서버 (crontab)

SSH 접속 후 crontab -e 명령으로 다음 한 줄을 추가합니다.

10분 간격 cron 등록 (CLI 방식, 권장)
*/10 * * * * /usr/bin/php /실제/경로/plugin/gb_guardian/batch/summary_cron.php
ℹ️
PHP 실행 경로 /usr/bin/php 는 호스팅마다 다를 수 있습니다. which php 로 확인하세요.

방법 2 — 외부 웹 cron 서비스

cron-job.org, EasyCron 등 외부 cron 서비스에 다음 URL 을 5~10분 간격으로 호출하도록 등록합니다.

URL 방식 cron (외부 서비스)
https://yourdomain.com/plugin/gb_guardian/batch/summary_cron.php?secret=발급된토큰

발급된토큰 부분은 환경설정 화면의 cron 가이드 박스에서 자동 표시되는 16자 토큰으로 교체하세요.

방법 3 — 호스팅 패널 (cPanel / Plesk / 가비아)

호스팅 관리 페이지에서 "cron / 예약 작업" 메뉴를 열고:

  • 실행 주기: 10분마다 (*/10 * * * *)
  • 명령어: 방법 1 또는 방법 2 의 URL/경로 사용

세부 등록 방식은 호스팅사마다 다르니 호스팅사 매뉴얼을 참고하세요.

🔐
cron 토큰은 외부에 노출되지 않도록 주의하세요. 토큰 없이 URL에 직접 접속하면 403 오류가 반환되어 무단 실행이 차단됩니다. 단 본 스크립트는 발송 함수만 호출하므로 노출되더라도 위험은 제한적입니다.
💡
동작 확인: cron 등록 후 첫 실행이 일어나면 환경설정의 "마지막 처리" 시각이 갱신됩니다. 시각이 갱신되지 않으면 cron 명령 경로 / PHP 경로 / 토큰을 다시 확인하세요.

Section 07

관리자 메뉴 사용법

설치 후 그누보드 관리자 좌측에 운영지킴이 메뉴 그룹이 추가됩니다. 8개 하위 메뉴로 구성됩니다.

메뉴코드역할
대시보드700100오류 통계 / 최다 발생 / 미해결 미리보기
오류 로그700200모든 캡처된 오류 목록 + 검색 / 상세보기 / 일괄 처리
알림 규칙 관리700300알림 규칙 등록 / 수정 / 삭제
규칙 매칭 추적 로그700310"왜 알림이 왔지/안 왔지?" 디버깅
수신자 관리700400알림 받을 운영자 등록 / 활성화
알림 발송 이력700500실제 발송된 알림 내역 / 채널별 일일 카운트 / 삭제
테스트 발송700600가상 오류로 채널/수신자 검증
환경설정700900활성화 / 보호 시스템 / 카톡 / cron 가이드 통합

① 대시보드

운영지킴이의 진입 화면입니다. 다음 4가지 통계 카드와 시각화를 제공합니다.

  • 오늘 발생한 오류 — 모든 등급 합산
  • 이번 주 발생한 오류 — 최근 7일
  • 이번 달 발생한 오류
  • 미해결 항목 — resolved=0 으로 남아있는 오류
  • 등급별 분포 차트 (FATAL/ERROR/EXCEPTION/WARNING/NOTICE 등)
  • 최다 발생 오류 TOP 5 — 같은 해시 기준 누적
  • 미해결 항목 미리보기 5건 — 클릭 시 오류 로그 페이지로 이동

② 오류 로그

캡처된 모든 오류 목록을 검색·필터링·일괄 처리할 수 있는 화면입니다.

  • 4종 필터: 등급 / 기간(오늘/7일/30일/90일/전체) / 해결여부 / 메시지·파일 텍스트 검색
  • 페이지당 20건 페이징, 검색·페이지 상태가 일괄 처리 후에도 유지됨
  • 행 클릭 시 AJAX 모달로 상세 정보 표시 (스택 트레이스 / 요청 URL / 사용자 IP / 발생 횟수 / 최초·최근 발생일)
  • 모달에서 해결됨 토글 / 삭제 가능
  • 체크박스 다중 선택 후 선택 해결됨 토글 / 선택 삭제 일괄 처리

③ 알림 규칙 관리

오류가 캡처됐을 때 어떤 조건에서 누구에게 어떻게 알릴지 정의합니다. 본 매뉴얼 8절(알림 규칙 작성 가이드) 참조.

④ 규칙 매칭 추적 로그 ★ 차별화 기능

다른 모니터링 솔루션에 없는 운영지킴이의 차별화 기능입니다. "왜 알림이 왔지?" 또는 "왜 이 오류는 알림이 안 왔지?" 의문이 들 때 이 화면에서 모든 매칭 시도를 추적할 수 있습니다.

9가지 결과 코드를 색상·아이콘으로 시각화:

결과의미
매칭+발송규칙 매칭 + 알림 정상 발송됨
⚠️ 매칭+발송실패매칭됐지만 보호 시스템 / 외부 API 오류로 차단
📦 큐 적재일일/주간 요약 큐에 적재됨 (즉시 발송 X)
등급 불일치오류 등급이 규칙 대상 등급에 없음
파일 패턴 불일치오류 파일이 규칙 패턴과 맞지 않음
비활성 규칙규칙 자체가 비활성
🕐 시간대 외시간대 제한 모드의 활성 시간 밖에서 발생
🔁 중복 제거다른 규칙으로 이미 같은 수신자에게 발송됨 (전역 dedup)
🚨 예외 발생매칭/발송 도중 예외 — "상세" 컬럼으로 원인 파악

상단 빠른 진단 패널에서 마지막 매칭 시각 / 오늘 매칭 시도 / 발송 성공 / 스킵 건수 를 한 눈에 확인할 수 있습니다.

⑤ 수신자 관리

알림을 받을 운영자 목록입니다.

  • 이름 — 관리 화면 식별용
  • 이메일 (필수) — 메일 발송에 사용
  • 휴대폰 (선택) — SMS / 카카오 알림톡 발송에 사용. 하이픈 자동 제거
  • 활성 — 비활성으로 두면 어떤 규칙에도 발송되지 않음 (휴직 / 퇴사 시 활용)

⑥ 알림 발송 이력

실제 발송된 모든 알림의 결과 내역입니다.

  • 상단에 채널별 오늘 발송 카운트일일 한도 대비 사용량 표시 (이메일 N/500 / SMS N/50 / 카톡 N/100)
  • 각 발송 건에 채널·상태(성공/실패)·수신자·실패 사유·시각 표시
  • 채널 / 상태 / 기간 / 텍스트 검색 4종 필터
  • 체크박스로 다중 선택 후 선택 삭제 가능

⑦ 테스트 발송

실제 오류를 발생시키지 않고 가상의 오류 데이터로 채널/수신자를 검증합니다.

  • 채널(메일/SMS/카톡) 선택 → 수신자 선택 → 발송
  • 모든 보호 시스템(비상정지/일일한도/야간무음/재진입락)을 통과해야 발송됨 → 비용 보호 일관성 유지
  • 쿨다운만은 우회 (테스트라 매번 다른 해시) → 무한 재발송 가능

⑧ 환경설정

운영지킴이의 모든 설정을 통합 관리하는 화면입니다.

  • 운영지킴이 사용 ON/OFF
  • 수집 등급 — 어떤 등급의 PHP 오류를 캡처할지 (기본: FATAL,ERROR,WARNING,EXCEPTION,DB)
  • 로그 보관 기간 — 해결 처리된 오류 로그 자동 삭제 기준 (기본 30일)
  • 알리고 SMS 연동 ON/OFF
  • 비상 정지 — 의심 폭주 감지 시 즉시 모든 발송 차단 (빨간 박스)
  • 채널별 일일 한도 — 메일/SMS/카톡 (조정 가능)
  • 야간 무음 — SMS/카톡 시간대 차단
  • 요약 발송 트리거 모드 — visitor / cron + cron 가이드 박스
  • 매칭 추적 로깅 ON/OFF + 보관 기간
  • 카카오 알림톡 가이드 + 템플릿 코드 / 강조 표기 입력

Section 08

알림 규칙 작성 가이드

알림 규칙은 매칭 조건 + 발송 설정 + 보호 설정 3개 영역으로 구성됩니다.

매칭 조건

항목설명
오류 등급 FATAL / ERROR / EXCEPTION / DB / WARNING / NOTICE / DEPRECATED 중 다중 선택. ALL 체크 시 모든 등급 매칭. 하나도 체크 안 하면 매칭 안 됨.
파일 패턴 (선택) SQL LIKE 스타일 패턴. % = 임의 문자(0개 이상), _ = 임의 한 글자.
예: %bbs/write.php% (게시판 글쓰기 관련만), %shop/order% (영카트 주문 관련만). 비워두면 모든 파일 매칭. 정규식 메타문자는 자동 이스케이프되어 안전합니다.

발송 설정 — 4가지 모드

모드schedule_time 형식설명
⚡ 즉시 (없음) 오류 발생 즉시 발송. 가장 빠른 알림이 필요한 FATAL/ERROR 에 권장.
📅 일일 요약 HH:MM 매일 지정 시각에 어제 오류 요약 메일. 채널은 항상 메일. 트래픽 많은 사이트의 WARNING/NOTICE 정리에 적합.
📆 주간 요약 D|HH:MM (D=1~7, ISO) 매주 지정 요일/시각에 지난 7일 요약 메일. 1=월, 7=일.
⏰ 시간대 제한 HH-HH 또는 HH-HH,HH-HH 지정 시간대에 발생한 오류만 즉시 발송. 예: 09-18 (업무 시간만), 22-08 (야간 비상연락만, 자정 걸침 가능).

발송 설정 — 채널 / 수신자

  • 채널 — 이메일 / SMS / 카카오 알림톡 중 1개 선택. 일일/주간 요약 모드는 자동으로 메일.
  • 수신자 — 활성 수신자 중 다중 선택. 한 규칙에 여러 명 등록 가능.

보호 설정 / 우선순위

항목설명
우선순위 (priority) 1~100, 낮을수록 먼저 매칭. 같은 오류가 여러 규칙에 매칭될 때 처리 순서.
동일 오류 쿨다운 같은 오류 해시 + 같은 수신자에게 이 시간 내 재발송 차단 (기본 30분).
중복 제거 범위 규칙별 — 본 규칙 안에서만 dedup
전역 — 어떤 규칙이든 같은 오류·수신자에게 1회만 발송 (여러 규칙이 겹쳐도 알림 1통)

권장 시작 규칙 세트

처음 사용하실 때 참고용 규칙 3개 예시:

#규칙명등급모드채널
1치명적 오류 SMSFATAL,ERROR즉시SMS
2예외/DB 오류 메일EXCEPTION,DB즉시이메일
3경고/노티스 일일 요약WARNING,NOTICE일일 요약 09:00이메일

이 구성이면 비용 부담은 SMS 한 채널에만 집중되고(FATAL/ERROR 만), 보조 정보는 모두 메일로 정리됩니다.

Section 09

비용 보호 시스템 ★

SMS / 카카오 알림톡은 건당 비용이 발생합니다. 운영지킴이는 비용 폭탄을 막기 위해 5중 보호 시스템을 기본 제공하며, 모든 발송이 8단계 검증을 통과해야 실제 발송됩니다.

💸
비용 폭탄 방지가 최우선: 디바운싱 실수 한 번으로 하루 만에 수십만 원 비용이 발생할 수 있습니다. 본 시스템을 임의로 우회하거나 한도를 무리하게 늘리지 마세요.

발송 전 8단계 검증

  1. 운영지킴이 활성화cf_guardian_use=1 인지
  2. 비상 정지 스위치 — 비상 정지 OFF 상태인지
  3. 채널 사용 가능 — 어댑터 / 알리고 솔루션 / 클래스 존재 여부
  4. 수신자 활성 — 수신자 active=1 + 채널별 주소 보유
  5. 야간 무음 — SMS / 카톡만 적용. 메일은 통과
  6. 일일 한도 — 채널별 오늘 발송 건수 < 한도
  7. 동일 오류 쿨다운 — 30분 내 같은 해시·수신자로 성공 발송 안 함
  8. 재진입 락 — 같은 채널 동시 발송 차단

5중 보호 메커니즘 상세

보호설정 위치기본값차단 케이스
🚨 비상 정지 환경설정의 빨간 박스 OFF ON 시 모든 채널 즉시 차단
📊 일일 한도 환경설정 (메일/SMS/카톡 별) 500 / 50 / 100 오늘 N건 도달 시 차단. 0 으로 두면 완전 차단
🌙 야간 무음 환경설정 22~08시 (SMS/카톡) 설정 시간대에 SMS/카톡 차단. 메일은 정상
동일 오류 쿨다운 알림 규칙 등록 화면 30분 30분 내 같은 해시·수신자에게 성공 발송 안 함
🔒 재진입 락 (자동, 사용자 설정 불가) 같은 채널 동시 발송 차단 — 무한 루프 방지
ℹ️
실패도 한도에 카운트됩니다. 알리고 일시 장애로 발송 실패가 폭주해도 한도가 무력화되지 않도록 설계됐습니다.

비상 정지 사용법

의심 발송 폭주 / 알리고 비용 알림 SMS 수신 / 새 규칙 적용 직후 이상 동작 등 위급 상황에서:

1
환경설정 진입
운영지킴이 → 환경설정 → 빨간색 "🚨 비상 정지" 박스 위치 확인.
2
즉시 활성화
"모든 알림 발송 즉시 중지" 체크 → 저장. 모든 채널 발송이 즉시 차단됩니다.
3
원인 파악 후 해제
알림 발송 이력에서 폭주 원인 확인 → 문제 규칙 비활성 또는 수신자 비활성 → 비상 정지 OFF.
Section 10

메시지 템플릿 변수

메일 / SMS / 카카오 알림톡 본문에 {변수명} 형태로 변수를 삽입하면 발송 시 실제 값으로 자동 치환됩니다. 템플릿 파일은 plugin/gb_guardian/templates/ 폴더에 있으며 직접 수정 가능합니다.

즉시 / 시간대 알림 (메일·SMS·카톡 공통)

변수치환되는 값예시
{SITE_NAME}그누보드 사이트 이름 (cf_title)홍길동몰
{SITE_URL}사이트 URLhttps://example.com
{ERROR_LEVEL}오류 등급FATAL
{ERROR_MESSAGE}오류 메시지 (마스킹 적용됨)Undefined function...
{ERROR_FILE}파일 경로 (마스킹 적용됨)[ROOT]/bbs/write.php
{ERROR_LINE}라인 번호42
{ERROR_TIME}발생 시각2026-04-15 14:32:18
{ERROR_URL}발생 URLhttps://example.com/bbs/...
{OCCURRENCE_COUNT}발생 횟수 (디바운싱 누적)87
{ADMIN_LOG_URL}관리자 오류 로그 직링크https://.../adm/guardian_log.php?stx=...

일일 / 주간 요약 메일 전용 변수

변수치환되는 값
{PERIOD}"어제" 또는 "지난 일주일"
{DATE_RANGE}"2026-04-14 00:00 ~ 23:59" 형태 날짜 범위
{TOTAL}총 발생 건수 (occurrence_count 합)
{UNIQUE_COUNT}고유 오류 종류 수
{FATAL_COUNT}FATAL/ERROR/EXCEPTION 합산
{LEVEL_ROWS}등급별 분포 행 HTML (서버에서 자동 조립)
{TOP_ERROR_ROWS}최다 오류 TOP 10 행 HTML
{RULE_NAME}규칙명
{ADMIN_URL}관리자 페이지 URL
⚠️
SMS / 카톡 변수 사용 주의: SMS는 EUC-KR 기준 90바이트(약 45자) 초과 시 LMS로 자동 전환되어 단가가 상승합니다. 변수 치환 후 본문 길이를 확인하세요. 카카오 알림톡은 사전 등록 템플릿과 글자 단위로 일치해야 발송됩니다.

템플릿 파일 위치

파일용도
templates/mail_default.html즉시 / 시간대 알림 메일 (HTML)
templates/sms_default.txtSMS 본문
templates/kakao_default.txt카카오 알림톡 본문 (비즈센터 등록 본문과 일치 필수)
templates/mail_summary_daily.html일일 요약 메일
templates/mail_summary_weekly.html주간 요약 메일

Section 11

사이트 관리자 정보 표시 선택 기능

관리 화면의 제작자 정보 박스와 알림 메일 푸터에 사이트를 관리하는 개발자/제작사의 정보(이름, 소개 문구, 홈페이지 주소 등)를 표시할 수 있는 선택적 기능입니다. 여러 사이트를 납품·관리하는 개발자라면 사이트마다 본인 정보를 표시하는 용도로 활용할 수 있습니다.

기본 상태

배포 직후에는 이 정보가 모두 비어 있어 아무것도 표시되지 않습니다. 별도로 설정하지 않아도 플러그인 기능에는 영향이 없으며, 필요하지 않다면 그대로 두어도 됩니다.

ℹ️
이 정보를 입력하는 UI는 환경설정 화면에 없습니다. 개발자가 코드 파일에서 직접 값을 설정하는 구조입니다.

설정 방법

plugin/gb_guardian/lib/guardian_brand.lib.php 파일을 열고, guardian_get_brand_info() 함수 안의 return array() 항목을 아래 설명에 따라 수정합니다.

항목설명기본값
name표시할 개발자/제작사 이름'WizardOfCode' (변경 가능)
tagline관리 화면에 표시할 한 줄 소개 문구빈 값 (미표시)
homepage홈페이지 주소. 값이 있으면 관리 화면에 링크 버튼이 표시됨빈 값 (미표시)
series_url관련 페이지 주소 (선택). 값이 있으면 알림 메일 푸터에 링크로 삽입됨빈 값 (미표시)

값을 하드코딩하는 대신 $get('키이름', '기본값') 형태를 유지하면, 나중에 환경설정 DB에서 값을 관리하는 방식으로 전환할 때 코드 수정 없이 적용할 수 있습니다.

guardian_brand.lib.php — guardian_get_brand_info() 수정 예시
// 수정 전 (기본 상태 — 모두 빈 값) return array( 'name' => 'WizardOfCode', 'tagline' => $get('brand_tagline', ''), 'homepage' => $get('brand_homepage', ''), 'series_url' => $get('series_page_url', ''), // ...기타 항목... ); // 수정 후 (개발자 정보를 직접 입력한 예시) return array( 'name' => 'My Company', 'tagline' => $get('brand_tagline', '그누보드 전문 개발팀'), 'homepage' => $get('brand_homepage', 'https://example.com'), 'series_url' => $get('series_page_url', 'https://example.com/works'), // ...기타 항목... );
⚠️
업데이트 시 주의: 이 파일을 직접 수정한 경우, 플러그인을 업데이트할 때 변경 내용이 덮어쓰여질 수 있습니다. 값을 DB에 저장하는 방식(guardian_config_set())으로 관리하면 업데이트 영향을 받지 않습니다.

Section 12

플러그인 제거 (Uninstall)

플러그인을 완전히 제거하려면 아래 두 단계를 순서대로 진행합니다.

🗑️
주의: DB 테이블을 삭제하면 모든 오류 로그·발송 이력·매칭 로그 등이 영구 삭제됩니다. 필요한 데이터는 미리 백업하세요.

STEP 1 — DB 테이블 / 컬럼 삭제

그누보드 관리자 → SQL 입력창 또는 phpMyAdmin 에서 아래 SQL을 실행합니다.

DB 정리 SQL
-- 6개 테이블 제거 DROP TABLE IF EXISTS g5_guardian_log; DROP TABLE IF EXISTS g5_guardian_rule; DROP TABLE IF EXISTS g5_guardian_recipient; DROP TABLE IF EXISTS g5_guardian_notify_log; DROP TABLE IF EXISTS g5_guardian_summary_queue; DROP TABLE IF EXISTS g5_guardian_rule_match_log; -- g5_config 컬럼 정리 ALTER TABLE g5_config DROP COLUMN cf_guardian_use; ALTER TABLE g5_config DROP COLUMN cf_guardian_collect_levels; ALTER TABLE g5_config DROP COLUMN cf_guardian_log_keep_days; ALTER TABLE g5_config DROP COLUMN cf_guardian_default_cooldown_min; ALTER TABLE g5_config DROP COLUMN cf_guardian_aligo_enabled; ALTER TABLE g5_config DROP COLUMN cf_guardian_emergency_stop; ALTER TABLE g5_config DROP COLUMN cf_guardian_email_daily_limit; ALTER TABLE g5_config DROP COLUMN cf_guardian_sms_daily_limit; ALTER TABLE g5_config DROP COLUMN cf_guardian_kakao_daily_limit; ALTER TABLE g5_config DROP COLUMN cf_guardian_sms_silent_enabled; ALTER TABLE g5_config DROP COLUMN cf_guardian_sms_silent_start; ALTER TABLE g5_config DROP COLUMN cf_guardian_sms_silent_end; ALTER TABLE g5_config DROP COLUMN cf_guardian_kakao_template_code; ALTER TABLE g5_config DROP COLUMN cf_guardian_kakao_emphasize_title; ALTER TABLE g5_config DROP COLUMN cf_guardian_rule_match_logging; ALTER TABLE g5_config DROP COLUMN cf_guardian_rule_match_keep_days; ALTER TABLE g5_config DROP COLUMN cf_guardian_summary_mode; ALTER TABLE g5_config DROP COLUMN cf_guardian_summary_last_daily; ALTER TABLE g5_config DROP COLUMN cf_guardian_summary_last_weekly;

테이블 접두사를 변경한 경우 위 SQL의 g5_ 부분을 사용 환경에 맞게 수정합니다.

STEP 2 — 파일 / 폴더 삭제

FTP로 접속하여 아래 파일 및 폴더를 삭제합니다.

삭제 대상경로
extend 진입점 그누보드루트/extend/gb_guardian.extend.php
플러그인 폴더 전체 그누보드루트/plugin/gb_guardian/
관리자 페이지 16개 그누보드루트/adm/guardian_*.php

STEP 3 — cron 등록 해제 (cron 모드 사용 시)

  • SSH 등록 경우: crontab -esummary_cron.php 관련 줄 삭제
  • 외부 웹 cron 서비스: 등록된 작업 삭제
  • 호스팅 패널 cron: 작업 삭제
위 3단계를 모두 완료하면 운영지킴이가 그누보드에서 완전히 제거됩니다. 그누보드 코어는 처음부터 수정하지 않았으므로 별도로 복원할 파일이 없습니다.

Section 13

자주 묻는 질문

Q. 무제한 사이트에 설치 가능한가요?

네. 운영지킴이는 사이트 식별·라이센스 키 검증 같은 락인 로직을 일절 포함하지 않습니다. 무제한 설치는 K3SOFT의 핵심 가치입니다. 본인이 운영하는 모든 그누보드 사이트와 고객 사이트에 자유롭게 설치하실 수 있습니다.

Q. 그누보드를 업데이트해도 플러그인이 유지되나요?

네. 운영지킴이는 그누보드 코어 파일을 단 한 줄도 수정하지 않습니다. extend/ 자동 부트스트랩 메커니즘만 사용하므로 그누보드 업데이트 후에도 그대로 동작합니다.

Q. 운영지킴이를 비활성으로 두면 사이트 성능에 영향이 있나요?

아니요. cf_guardian_use=0 일 때 진입점 파일이 즉시 return 합니다. 핸들러 등록도, 라이브러리 로드도 일어나지 않으므로 디스크 I/O 가 0건이고 성능 영향이 없습니다.

Q. SMS / 카카오 알림톡을 사용하지 않아도 되나요?

네. 메일만으로도 충분히 운영 가능합니다. 알림 규칙 등록 시 채널을 모두 "이메일" 로 두면 됩니다. SMS / 카톡은 추가 비용이 발생하므로 정말 즉시성이 필요한 FATAL 등급에만 한정해 사용하는 것을 권장합니다.

Q. 카카오 알림톡 본문을 수정하고 싶어요.

plugin/gb_guardian/templates/kakao_default.txt 파일을 직접 수정하면 운영지킴이가 발송할 본문이 변경됩니다. 그러나 알리고 카카오 비즈센터에 사전 등록한 본문도 같이 수정하고 재심사해야 발송이 됩니다. 양쪽 본문이 글자 단위로 일치해야 카카오가 발송 승인합니다.

Q. 매칭 추적 로그가 비어 보입니다.

다음 중 하나일 수 있습니다:

  • 매칭 추적 로깅이 OFF 상태 — 환경설정에서 확인
  • 활성 알림 규칙이 0건 — 알림 규칙 관리에서 확인
  • 오류가 발생하지 않은 사이트 — 정상 (테스트 발송으로 검증 가능)
  • 보관 기간(기본 7일) 이전 데이터는 자동 삭제됨

Q. cron 을 등록할 수 없는 호스팅이에요.

환경설정 → "요약 발송 트리거 모드" → "방문자 트리거" 로 두시면 됩니다. 사이트 방문자 트래픽이 발생할 때마다 1% 확률 + 5분 가드로 자동 트리거됩니다. 즉시 알림(instant 모드)은 본 설정과 무관하게 오류 발생 즉시 발송됩니다.

Q. 알림이 너무 많이 와요.

다음 단계로 조정하세요:

  1. 알림 규칙 → 수정 → 등급 을 좁힘 (예: WARNING 제외, FATAL/ERROR 만)
  2. 또는 파일 패턴 으로 특정 파일/모듈만 매칭
  3. 또는 모드 를 "일일 요약" 으로 변경 — 즉시성 대신 하루 1통으로 묶음
  4. 또는 쿨다운 을 30분 → 360분 등으로 늘려 같은 오류 재발송 빈도 줄임
  5. 긴급 시 비상 정지 로 즉시 모두 차단 후 원인 파악

Q. SMTP Manager 가 없으면 어떻게 되나요?

그누보드의 mailer() 함수가 PHP 의 mail() 함수로 자동 폴백합니다. SMTP 인증 없이 발송되므로 일부 메일 서버에서 스팸 처리될 수 있습니다. 안정적인 메일 발송을 위해 SMTP Manager 설치를 권장합니다.

Section 14

문제 해결

관리자 메뉴에 "운영지킴이"가 보이지 않아요

  • extend/gb_guardian.extend.php 가 그누보드 루트의 extend/ 폴더에 올바르게 업로드되어 있는지 확인
  • plugin/gb_guardian/install.php 를 한 번 실행했는지 확인 (관리자 로그인 상태에서)
  • 브라우저 캐시 새로고침 (Ctrl+F5 / Cmd+Shift+R)
  • 파일 권한(퍼미션)이 644 이상인지 확인

오류는 발생하는데 알림이 안 와요

  • 운영지킴이 → 환경설정 → "운영지킴이 사용" ON 인지 확인
  • 비상 정지가 활성화되어 있지 않은지 확인
  • 알림 규칙이 1개 이상 활성 상태로 등록되어 있는지 확인
  • 활성 수신자가 1명 이상이고 채널별 주소(이메일/휴대폰)가 입력되어 있는지 확인
  • 오류 로그 페이지에서 오류가 실제 캡처되었는지 확인
  • 규칙 매칭 추적 로그 에서 매칭 결과 확인 — "왜 알림이 안 갔는지" 9가지 결과 코드로 즉시 진단 가능
  • 알림 발송 이력 페이지에서 발송 시도가 있었는지 / 실패 사유가 무엇인지 확인

SMS 발송이 실패해요

  • 그누보드 환경설정에 SMS 인증 정보가 입력되어 있는지 확인
  • SMS 잔액이 남아있는지 알리고 관리자 페이지에서 확인
  • 발신번호가 사전 등록된 번호인지 확인 (사전 등록 안 된 번호는 발송 거부)

카카오 알림톡 발송이 실패해요

  • 알리고 카카오 알림톡 솔루션이 설치되어 있는지 확인 (plugin/aligo_kakao/aligo_alimtalk.lib.php 존재)
  • 환경설정에 카카오 발신키 (cf_aligo_kakao_sdkey) + 운영지킴이 템플릿 코드 (cf_guardian_kakao_template_code) 가 입력되어 있는지 확인
  • 본문이 카카오 비즈센터에 사전 등록·승인된 템플릿과 글자 단위로 일치하는지 확인 (변수 자리 외 모든 텍스트 동일해야 함)
  • 광고성 키워드 포함 시 카카오에서 거부될 수 있음 — 본문 검토
  • 운영지킴이 → 알림 발송 이력에서 실패 사유 확인

일일 요약 메일이 안 와요

  • 일일 요약 모드 규칙이 활성 상태인지 확인
  • 해당 시각에 발송할 큐가 비어있지 않은지 확인 (어제 캡처된 오류가 있어야 발송됨)
  • 환경설정 → "마지막 처리" 시각이 갱신되는지 확인
  • cron 모드라면 cron 명령이 정상 등록·실행되는지 확인
  • 방문자 트리거 모드라면 사이트 트래픽이 너무 적은지 확인 (1% 확률이라 트래픽 적으면 늦게 트리거)

"올바른 방법으로 이용해 주십시오" 메시지

그누보드 CSRF 토큰 검증 실패. 페이지를 새로고침 후 다시 시도하세요. 모달과 일괄 폼을 동시에 사용하면 토큰이 만료될 수 있습니다.

매칭 추적 로그에 데이터가 너무 많이 쌓여요

  • 환경설정 → "자동 정리 보관 기간" 을 줄이세요 (예: 7일 → 3일)
  • 또는 "매칭 추적 로깅" 을 OFF 로 두면 더 이상 쌓이지 않음 (디버깅 시에만 ON)
  • cron 또는 방문자 트리거가 동작 중이면 보관 기간 지난 데이터는 자동 삭제됨
💬
위 방법으로 해결되지 않는 문제는 GitHub Issues로 문의해 주세요.
오류 로그 화면 + 규칙 매칭 추적 로그 + 알림 발송 이력 3곳의 스크린샷을 함께 첨부하시면 빠르게 진단해 드릴 수 있습니다.

🔜 다음 단계: AI 오류 진단 서비스

오류지킴이가 "오류가 발생했다"를 알려드린다면, 준비 중인 AI 오류 진단 서비스는 "이 오류가 무슨 뜻이고, 어떻게 해결하는지"까지 안내해 드립니다.

Research & Development
🤖 AI 오류 진단 서비스
오류 내용을 붙여넣으면 AI가 원인과 해결 방법을 분석해 드립니다.
오류지킴이와 연동해 알림에서 바로 진단으로 이어지는 흐름을 목표로 개발 중입니다.
사전 관심 등록하기 →
출시 시 가장 먼저 안내드립니다.