G-1: 메신저 Webhook Relay + _send_to_room 실제 httpx 호출 구현 G-2: POST /api/tasks/bulk SR 대량작업 엔드포인트 (최대 100건) G-3: 라이선스 만료 알림 스케줄러 (매일 09:00 KST) G-4: 체험판 upgrade_banner 필드 + license.py 배너 로직 G-5: core/auto_rca.py + incidents/problem auto-rca 엔드포인트 G-6: core/deploy_impact.py + vibe impact-analysis 엔드포인트 G-7: core/ticket_classifier.py + SR 생성 시 AI 분류 + ai-suggestion API G-8: VulnPatchRecord 모델 + vuln_scan 패치추적 4개 엔드포인트 G-9: core/jira_sync.py + gateway Jira/Confluence 연동 엔드포인트 G-10: core/push_notify.py + routers/push.py + PushSubscription 모델 G-11: approvals 다중승인 (위임/서명/기한초과/마감연장) G-12: alembic.ini + migrations/ + cicd/migrate_to_postgres.sh 하네스: guardia-orchestrator 확장기능 Phase 반영 봇명령어: /sr /status /license /bulk 슬래시 명령어 추가 설치스크립트: setup/ (Ubuntu, CentOS, RHEL, Windows) --test 옵션 포함 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
702 lines
26 KiB
Markdown
702 lines
26 KiB
Markdown
# 테스트케이스 — 분기별 정기 PM (서버 OS 재기동 및 사후 헬스체크)
|
|
|
|
**고객**: 한국문화원연합회
|
|
**대상 시스템**: 5개 전체 (문화품앗이, 누리집, 누리집 관리자, 지역N문화, 통합자료관리시스템)
|
|
**PM 주기**: 분기 1회 (3개월마다)
|
|
**작성일**: 2026-05-25
|
|
|
|
---
|
|
|
|
## PM 작업 개요
|
|
|
|
```
|
|
목적: 서버 OS 재기동 후 5개 시스템이 정상 복구되었는지 검증
|
|
|
|
순서:
|
|
1단계 — 재기동 전 사전 점검 (Pre-PM Check)
|
|
2단계 — 서버 재기동 수행
|
|
3단계 — 재기동 후 사후 헬스체크 (Post-PM Health Check)
|
|
4단계 — 전면 서비스 최종 확인 (Web 화면 직접 확인)
|
|
5단계 — PM 결과 보고서 작성
|
|
```
|
|
|
|
---
|
|
|
|
## 점검 대상 서버 및 서비스 포트
|
|
|
|
| 시스템 | URL | 서비스 포트 | 비고 |
|
|
|--------|-----|------------|------|
|
|
| 문화품앗이 | https://csv.culture.go.kr/ | 80, 443 | PHP/WEB |
|
|
| 공식 누리집 | https://www.kccf.or.kr/ | 80, 443 | WEB (Read-Only) |
|
|
| 누리집 관리자 | https://mng.kccf.or.kr | 80, 443 | CMS |
|
|
| 지역N문화 | https://www.nculture.org/ | 80, 443, 8080 | eGovFrame/WAS |
|
|
| 통합자료관리 | https://archive.nculture.org/ | 80, 443, 8080 | Java Tomcat WAS |
|
|
|
|
---
|
|
|
|
## 사전 준비물
|
|
|
|
```
|
|
필요한 것:
|
|
1. 서버 SSH 접속 가능한 터미널 (예: PuTTY, MobaXterm, Windows Terminal)
|
|
2. Chrome 또는 Edge 브라우저
|
|
3. 이 테스트케이스 문서 (인쇄 권장)
|
|
4. PM 결과 기록 시트 (엑셀 또는 노트)
|
|
5. 비상 연락망 (서버 담당자, 개발팀)
|
|
6. GUARDiA ITSM 로그인 (PM 작업 등록용)
|
|
|
|
결과 기호:
|
|
O = 통과 (정상)
|
|
X = 실패 (비정상 — 담당자 즉시 연락)
|
|
△ = 보류 (추가 확인 필요)
|
|
```
|
|
|
|
---
|
|
|
|
# 1단계 — 재기동 전 사전 점검 (Pre-PM Check)
|
|
|
|
> 이 단계는 **재기동 전에** 현재 서비스 상태를 기록합니다.
|
|
> 재기동 후 비교 기준이 됩니다.
|
|
|
|
---
|
|
|
|
## TC-PM-PRE-001: GUARDiA ITSM에 PM 작업 등록
|
|
|
|
**목적**: PM 시작 전 공식 작업 기록을 남깁니다.
|
|
**소요 시간**: 약 5분
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | GUARDiA ITSM(`http://ITSM서버주소:8000/`)에 로그인합니다 | 대시보드가 열립니다 | |
|
|
| 2 | "정기점검(PM)" 메뉴 → "PM 작업 생성"을 클릭합니다 | PM 작업 등록 양식이 나타납니다 | |
|
|
| 3 | 작업명: `한국문화원연합회 분기별 서버 재기동 PM (YYYY-MM-DD)` 을 입력합니다 | 입력됩니다 | |
|
|
| 4 | 점검 서버, 담당자, 예정 시작 시간을 입력합니다 | 입력됩니다 | |
|
|
| 5 | "저장" 버튼을 클릭합니다 | PM 작업이 등록됩니다 | |
|
|
| 6 | 워크타임테이블(업무 일정)에 PM 일정이 표시되는지 확인합니다 | 일정 캘린더에 PM이 보입니다 | |
|
|
|
|
**PM 작업 ID (등록 후 기록)**: ___________________
|
|
|
|
---
|
|
|
|
## TC-PM-PRE-002: 웹 서비스 현재 상태 기록 (5개 사이트)
|
|
|
|
**목적**: 재기동 전 모든 사이트가 정상 응답하는지 확인 및 기록
|
|
**소요 시간**: 약 10분
|
|
|
|
> 아래 표에 현재 시간을 적고, 각 사이트의 상태를 기록하세요.
|
|
|
|
**점검 시작 시각**: ________
|
|
|
|
| 번호 | 사이트 | URL | 상태 코드 200? | 응답 시간(초) | 결과 |
|
|
|------|--------|-----|---------------|--------------|------|
|
|
| 1 | 문화품앗이 | https://csv.culture.go.kr/ | | | |
|
|
| 2 | 공식 누리집 | https://www.kccf.or.kr/ | | | |
|
|
| 3 | 누리집 관리자 | https://mng.kccf.or.kr | | | |
|
|
| 4 | 지역N문화 | https://www.nculture.org/ | | | |
|
|
| 5 | 통합자료관리 | https://archive.nculture.org/ | | | |
|
|
|
|
**확인 방법 (브라우저)**:
|
|
```
|
|
각 URL을 Chrome에서 열고:
|
|
1. 페이지가 정상 표시되면 O
|
|
2. F12 → Network 탭 → 맨 위 요청의 Status 숫자 기록 (200이면 정상)
|
|
3. 로딩 시간은 Network 탭 하단 "Finish" 시간 참고
|
|
```
|
|
|
|
**확인 방법 (터미널, 선택)**:
|
|
```bash
|
|
# 각 사이트 HTTP 상태 코드 확인
|
|
curl -o /dev/null -s -w "%{http_code}\n" https://csv.culture.go.kr/
|
|
curl -o /dev/null -s -w "%{http_code}\n" https://www.kccf.or.kr/
|
|
curl -o /dev/null -s -w "%{http_code}\n" https://mng.kccf.or.kr/
|
|
curl -o /dev/null -s -w "%{http_code}\n" https://www.nculture.org/
|
|
curl -o /dev/null -s -w "%{http_code}\n" https://archive.nculture.org/
|
|
# 모두 200이 출력되면 정상
|
|
```
|
|
|
|
---
|
|
|
|
## TC-PM-PRE-003: 서버 프로세스 사전 현황 기록
|
|
|
|
**목적**: 재기동 전 서버에서 구동 중인 핵심 프로세스를 기록합니다.
|
|
**소요 시간**: 약 10분
|
|
|
|
> SSH로 각 서버에 접속하여 아래 명령어를 실행하고 결과를 기록합니다.
|
|
|
|
### 3-1. Tomcat/WAS 프로세스 확인
|
|
|
|
```bash
|
|
# Tomcat 프로세스 확인
|
|
ps -ef | grep tomcat | grep -v grep
|
|
|
|
# 결과 예시 (정상):
|
|
# tomcat 12345 1 0 09:00 ? 00:01:23 java -Djava.util.logging...
|
|
```
|
|
|
|
| 서버 | Tomcat 프로세스 PID | 상태 | 기록 |
|
|
|------|---------------------|------|------|
|
|
| 지역N문화 WAS | | | |
|
|
| 통합자료관리 WAS | | | |
|
|
|
|
### 3-2. 포트 리스닝 상태 확인
|
|
|
|
```bash
|
|
# 서비스 포트 확인 (80, 443, 8080)
|
|
ss -tlnp | grep -E ':80|:443|:8080'
|
|
|
|
# 또는
|
|
netstat -tlnp | grep -E ':80|:443|:8080'
|
|
```
|
|
|
|
| 포트 | 리스닝 여부 | 프로세스 이름 | 결과 |
|
|
|------|------------|--------------|------|
|
|
| 80 (HTTP) | | | |
|
|
| 443 (HTTPS) | | | |
|
|
| 8080 (Tomcat) | | | |
|
|
|
|
### 3-3. 디스크 사용량 확인 (재기동 전)
|
|
|
|
```bash
|
|
df -h
|
|
# 루트(/) 파티션이 90% 이상이면 재기동 전 정리 필요!
|
|
```
|
|
|
|
| 파티션 | 사용량(%) | 주의 필요? | 기록 |
|
|
|--------|----------|----------|------|
|
|
| / (루트) | | | |
|
|
| /data (있는 경우) | | | |
|
|
|
|
---
|
|
|
|
## TC-PM-PRE-004: DB 서비스 상태 확인
|
|
|
|
**목적**: 데이터베이스 서비스가 정상 동작 중인지 확인하고 재기동 후 비교합니다.
|
|
**소요 시간**: 약 5분
|
|
|
|
```bash
|
|
# MySQL/MariaDB 확인
|
|
systemctl status mysql # Ubuntu
|
|
systemctl status mariadb # CentOS
|
|
ps -ef | grep mysql | grep -v grep
|
|
|
|
# Oracle/PostgreSQL 확인 (사용 중인 경우)
|
|
ps -ef | grep ora_pmon | grep -v grep # Oracle
|
|
systemctl status postgresql # PostgreSQL
|
|
```
|
|
|
|
| DB 종류 | 상태 | 프로세스 확인 | 결과 |
|
|
|---------|------|-------------|------|
|
|
| MySQL/MariaDB | | | |
|
|
| Oracle/PostgreSQL | | | |
|
|
|
|
---
|
|
|
|
## TC-PM-PRE-005: 현재 접속자 수 확인 (서비스 영향 최소화)
|
|
|
|
**목적**: 재기동 전 현재 접속자 수를 확인하여 최적 시간대를 선택합니다.
|
|
**소요 시간**: 약 3분
|
|
|
|
```bash
|
|
# 현재 웹 서버 접속 세션 수 확인
|
|
# Apache
|
|
grep "$(date +%d/%b/%Y)" /var/log/apache2/access.log | wc -l
|
|
|
|
# Nginx
|
|
grep "$(date +%d/%b/%Y)" /var/log/nginx/access.log | wc -l
|
|
|
|
# 현재 연결 수
|
|
ss -s | grep "estab"
|
|
```
|
|
|
|
| 항목 | 현재 값 | 기록 |
|
|
|------|---------|------|
|
|
| 현재 접속 세션 수 | | |
|
|
| 오늘 방문자 수 | | |
|
|
| 점검 권장 시간대 | 새벽 1~5시 권장 | |
|
|
|
|
> 💡 **팁**: 접속자가 거의 없는 시간대(새벽 1~5시)에 재기동을 수행하면 영향이 최소화됩니다.
|
|
|
|
---
|
|
|
|
# 2단계 — 서버 재기동 수행
|
|
|
|
---
|
|
|
|
## TC-PM-REBOOT-001: 서비스 공지 및 사전 알림
|
|
|
|
**목적**: 사용자에게 점검 시간을 미리 알립니다.
|
|
**소요 시간**: 약 5분 (점검 1~2일 전 수행)
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | 각 사이트 관리자 화면에서 점검 공지 팝업을 등록합니다 | 공지 팝업이 등록됩니다 | |
|
|
| 2 | 공지 내용: `시스템 정기 점검으로 YYYY-MM-DD HH:MM ~ HH:MM 서비스가 중단됩니다.` | 공지 내용이 표시됩니다 | |
|
|
| 3 | GUARDiA Messenger로 관련 담당자에게 점검 일정 공유 | 메시지 발송 확인 | |
|
|
|
|
---
|
|
|
|
## TC-PM-REBOOT-002: 점검 모드 전환
|
|
|
|
**목적**: 서비스 중단 전 점검 페이지로 전환합니다.
|
|
**소요 시간**: 약 5분
|
|
|
|
> 각 서버의 웹 서버 설정에 따라 점검 페이지 표시 방법이 다를 수 있습니다.
|
|
|
|
```bash
|
|
# Nginx 점검 모드 예시
|
|
sudo mv /etc/nginx/conf.d/site.conf /etc/nginx/conf.d/site.conf.bak
|
|
sudo cp /etc/nginx/conf.d/maintenance.conf.template /etc/nginx/conf.d/site.conf
|
|
sudo nginx -t && sudo systemctl reload nginx
|
|
```
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | 각 서버에 SSH 접속합니다 | 터미널에 서버 프롬프트가 나타납니다 | |
|
|
| 2 | 웹 서버에 점검 모드를 적용합니다 (위 예시 참고) | 점검 페이지 설정이 적용됩니다 | |
|
|
| 3 | 브라우저에서 해당 사이트를 열어 점검 페이지가 보이는지 확인합니다 | "점검 중" 페이지가 표시됩니다 | |
|
|
|
|
---
|
|
|
|
## TC-PM-REBOOT-003: 서버 재기동 수행
|
|
|
|
**목적**: OS를 안전하게 재기동합니다.
|
|
**소요 시간**: 서버당 약 5~10분
|
|
|
|
> ⚠️ **주의**: 재기동 전 아래 체크리스트를 반드시 확인하세요!
|
|
|
|
**재기동 전 최종 체크리스트**:
|
|
```
|
|
□ 1단계 사전 점검 모두 완료
|
|
□ 현재 접속자 수 0명 또는 최소 (새벽 시간대 권장)
|
|
□ DB 백업 완료
|
|
□ 점검 공지 팝업 활성화 확인
|
|
□ 비상 연락망 준비 (담당자 전화번호 옆에 두기)
|
|
□ GUARDiA ITSM PM 작업 상태 "진행 중"으로 변경
|
|
```
|
|
|
|
```bash
|
|
# Linux 서버 안전 재기동 명령어
|
|
sudo shutdown -r +1 "분기 정기 점검으로 1분 후 재기동합니다"
|
|
# 또는 즉시 재기동
|
|
sudo reboot
|
|
|
|
# 재기동 취소 (잘못 입력한 경우)
|
|
sudo shutdown -c
|
|
```
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | 위 체크리스트를 모두 확인합니다 | 모든 항목이 체크됩니다 | |
|
|
| 2 | 서버에서 `sudo reboot` 명령을 실행합니다 | SSH 연결이 끊어집니다 (정상) | |
|
|
| 3 | 5~10분 후 서버에 다시 SSH 접속을 시도합니다 | SSH 접속이 다시 됩니다 | |
|
|
| 4 | `uptime` 명령으로 서버 재기동 시간을 확인합니다 | 재기동된 지 몇 분 안 된 시간이 표시됩니다 | |
|
|
|
|
**재기동 완료 시각**: ________
|
|
|
|
```bash
|
|
# 재기동 확인 명령어
|
|
uptime
|
|
# 출력 예시: 02:15:33 up 3 min, 1 user, load average: 0.12, 0.10, 0.04
|
|
# ↑ "3 min" → 3분 전에 재기동됨을 의미
|
|
```
|
|
|
|
---
|
|
|
|
# 3단계 — 사후 헬스체크 (Post-PM Health Check)
|
|
|
|
> 이 단계가 가장 중요합니다. 재기동 후 모든 서비스가 정상 복구되었는지 확인합니다.
|
|
|
|
---
|
|
|
|
## TC-PM-POST-001: 서버 부팅 기본 상태 확인
|
|
|
|
**목적**: 서버 OS가 정상적으로 부팅되었는지 확인합니다.
|
|
**소요 시간**: 약 5분
|
|
|
|
```bash
|
|
# 1. 부팅 시간 확인
|
|
uptime
|
|
|
|
# 2. 시스템 로그에서 오류 확인
|
|
sudo dmesg | grep -i "error\|fail\|critical" | tail -20
|
|
|
|
# 3. 디스크 마운트 상태 확인
|
|
df -h
|
|
|
|
# 4. 시스템 서비스 실패 항목 확인
|
|
sudo systemctl --failed
|
|
# → 0 loaded units listed 이면 실패 항목 없음 (정상)
|
|
```
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | SSH 접속 후 `uptime` 명령 실행 | 재기동 후 경과 시간이 표시됩니다 | |
|
|
| 2 | `sudo dmesg | grep -i error | tail -20` 실행 | 심각한 오류가 없습니다 | |
|
|
| 3 | `df -h` 실행하여 디스크 마운트 상태 확인 | 모든 파티션이 정상 마운트됩니다 | |
|
|
| 4 | `sudo systemctl --failed` 실행 | 실패한 서비스가 0개입니다 | |
|
|
|
|
**오류 발견 시 기록**: _______________________________________
|
|
|
|
---
|
|
|
|
## TC-PM-POST-002: 데이터베이스 서비스 재기동 확인
|
|
|
|
**목적**: 재기동 후 DB가 자동으로 올라왔는지 확인합니다.
|
|
**소요 시간**: 약 5분
|
|
|
|
```bash
|
|
# MySQL/MariaDB 상태 확인
|
|
sudo systemctl status mysql
|
|
# 또는
|
|
sudo systemctl status mariadb
|
|
|
|
# 정상 출력:
|
|
# ● mysql.service - MySQL Community Server
|
|
# Active: active (running) since ...
|
|
```
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | `sudo systemctl status mysql` 명령을 실행합니다 | **"active (running)"** 이 표시됩니다 | |
|
|
| 2 | DB가 자동 시작 설정인지 확인합니다: `sudo systemctl is-enabled mysql` | **"enabled"** 가 출력됩니다 | |
|
|
| 3 | DB가 시작되지 않았으면 수동으로 시작합니다: `sudo systemctl start mysql` | 시작 후 "active (running)" 확인 | |
|
|
| 4 | 재기동 전 기록한 DB 상태와 동일한지 비교합니다 | 동일한 DB 서비스가 동작 중입니다 | |
|
|
|
|
**DB 시작 실패 시 즉시 담당자 연락**: 이 경우 다음 단계로 진행하지 마세요.
|
|
|
|
---
|
|
|
|
## TC-PM-POST-003: Tomcat/WAS 서비스 재기동 확인
|
|
|
|
**목적**: Java WAS(Tomcat)가 자동으로 올라왔는지 확인합니다.
|
|
**소요 시간**: 약 10분
|
|
|
|
> 지역N문화(nculture.org)와 통합자료관리(archive.nculture.org)는 Java Tomcat WAS를 사용합니다.
|
|
|
|
```bash
|
|
# Tomcat 프로세스 확인
|
|
ps -ef | grep tomcat | grep -v grep
|
|
|
|
# 정상 출력 예시:
|
|
# tomcat 12345 1 5 02:15 ? 00:00:45 java -Djava.util.logging.config.file=...
|
|
|
|
# Tomcat 서비스 상태 (systemd 관리 시)
|
|
sudo systemctl status tomcat
|
|
sudo systemctl status tomcat9 # Ubuntu에서 tomcat9인 경우
|
|
|
|
# Tomcat 8080 포트 리스닝 확인
|
|
ss -tlnp | grep :8080
|
|
```
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | `ps -ef | grep tomcat | grep -v grep` 실행 | java 프로세스가 1개 이상 보입니다 | |
|
|
| 2 | `ss -tlnp | grep :8080` 실행 | 8080 포트가 LISTEN 상태입니다 | |
|
|
| 3 | Tomcat이 안 올라왔으면 수동 시작합니다: `sudo systemctl start tomcat` | 프로세스가 나타납니다 | |
|
|
| 4 | Tomcat 로그에서 "Server startup in" 메시지를 확인합니다 | 시작 완료 메시지가 있습니다 | |
|
|
|
|
**Tomcat 로그 확인**:
|
|
```bash
|
|
# 최근 Tomcat 시작 로그 확인
|
|
sudo tail -50 /var/log/tomcat9/catalina.out
|
|
# 또는
|
|
sudo tail -50 /opt/tomcat/logs/catalina.out
|
|
|
|
# 정상 시작 메시지 예시:
|
|
# INFO: Server startup in [12345] milliseconds
|
|
```
|
|
|
|
**로그 파일 위치**: ___________________
|
|
**시작 완료 메시지 확인 여부**: O / X
|
|
|
|
---
|
|
|
|
## TC-PM-POST-004: 웹 서버 (Nginx/Apache) 재기동 확인
|
|
|
|
**목적**: 웹 서버가 자동 재시작되었고 정상 응답하는지 확인합니다.
|
|
**소요 시간**: 약 5분
|
|
|
|
```bash
|
|
# Nginx 상태 확인
|
|
sudo systemctl status nginx
|
|
|
|
# Apache 상태 확인
|
|
sudo systemctl status apache2 # Ubuntu
|
|
sudo systemctl status httpd # CentOS
|
|
|
|
# 포트 80, 443 리스닝 확인
|
|
ss -tlnp | grep -E ':80|:443'
|
|
```
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | `sudo systemctl status nginx` (또는 apache2) 실행 | **"active (running)"** 이 표시됩니다 | |
|
|
| 2 | `ss -tlnp | grep :443` 실행 | 443 포트가 LISTEN 상태입니다 | |
|
|
| 3 | `ss -tlnp | grep :80` 실행 | 80 포트가 LISTEN 상태입니다 | |
|
|
| 4 | 웹 서버가 미시작 시: `sudo systemctl start nginx` | 시작 후 "active (running)" 확인 | |
|
|
|
|
---
|
|
|
|
## TC-PM-POST-005: SSL 인증서 유효성 확인
|
|
|
|
**목적**: 재기동 후 SSL 인증서가 정상 작동하는지 확인합니다.
|
|
**소요 시간**: 약 5분
|
|
|
|
```bash
|
|
# 각 도메인의 SSL 인증서 만료일 확인
|
|
# GUARDiA ssl_expiry_check.sh 스크립트 사용
|
|
bash /opt/guardia/scripts/ssl/ssl_expiry_check.sh csv.culture.go.kr
|
|
bash /opt/guardia/scripts/ssl/ssl_expiry_check.sh www.kccf.or.kr
|
|
bash /opt/guardia/scripts/ssl/ssl_expiry_check.sh mng.kccf.or.kr
|
|
bash /opt/guardia/scripts/ssl/ssl_expiry_check.sh www.nculture.org
|
|
bash /opt/guardia/scripts/ssl/ssl_expiry_check.sh archive.nculture.org
|
|
|
|
# 출력 예시 (정상):
|
|
# {"host":"www.kccf.or.kr","port":443,"days_left":127,"level":"OK",...}
|
|
```
|
|
|
|
| 도메인 | days_left | level | 결과 |
|
|
|--------|-----------|-------|------|
|
|
| csv.culture.go.kr | | | |
|
|
| www.kccf.or.kr | | | |
|
|
| mng.kccf.or.kr | | | |
|
|
| www.nculture.org | | | |
|
|
| archive.nculture.org | | | |
|
|
|
|
> **판정 기준**: days_left > 30 이면 O, 7~30이면 △ (갱신 준비), 7 미만이면 X (즉시 갱신)
|
|
|
|
---
|
|
|
|
## TC-PM-POST-006: 서비스 포트 전체 점검
|
|
|
|
**목적**: 모든 필수 포트가 정상 리스닝 상태인지 한 번에 확인합니다.
|
|
**소요 시간**: 약 5분
|
|
|
|
```bash
|
|
# 서비스 포트 전체 확인
|
|
ss -tlnp | grep -E ':80|:443|:8080|:3306|:5432'
|
|
|
|
# 결과에서 확인할 포트:
|
|
# :80 → HTTP (웹서버)
|
|
# :443 → HTTPS (웹서버 보안)
|
|
# :8080 → Tomcat WAS
|
|
# :3306 → MySQL/MariaDB
|
|
# :5432 → PostgreSQL (사용 시)
|
|
```
|
|
|
|
| 포트 | 서비스 | LISTEN 여부 | 결과 |
|
|
|------|--------|------------|------|
|
|
| 80 | HTTP 웹서버 | | |
|
|
| 443 | HTTPS 웹서버 | | |
|
|
| 8080 | Tomcat WAS | | |
|
|
| 3306 | MySQL/MariaDB | | |
|
|
|
|
> 모든 포트가 LISTEN 상태여야 O 입니다. 하나라도 없으면 X로 기록 후 담당자 연락.
|
|
|
|
---
|
|
|
|
# 4단계 — 전면 서비스 최종 확인 (Web 화면 직접 확인)
|
|
|
|
> 이 단계는 **브라우저**로 직접 확인합니다.
|
|
> 서버 명령어를 몰라도 수행 가능합니다.
|
|
|
|
---
|
|
|
|
## TC-PM-WEB-001: 문화품앗이 화면 확인
|
|
|
|
**소요 시간**: 약 5분
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | Chrome에서 `https://csv.culture.go.kr/` 를 엽니다 | 사이트 메인 화면이 정상 표시됩니다 | |
|
|
| 2 | 점검 페이지가 아닌 실제 사이트가 열리는지 확인합니다 | "문화품앗이" 메인 화면이 보입니다 | |
|
|
| 3 | 자물쇠(🔒) 아이콘이 있는지 확인합니다 | 자물쇠가 잠겨 있습니다 | |
|
|
| 4 | 메인 메뉴 클릭이 정상 동작하는지 확인합니다 | 메뉴 클릭 시 페이지 이동이 됩니다 | |
|
|
| 5 | 로그인 테스트: admin / ansghk2020** 로 로그인합니다 | 로그인이 성공합니다 | |
|
|
| 6 | 로그아웃합니다 | 정상 로그아웃됩니다 | |
|
|
|
|
**확인 시각**: ________ **결과**: O / X / △
|
|
|
|
---
|
|
|
|
## TC-PM-WEB-002: 공식 누리집 화면 확인
|
|
|
|
**소요 시간**: 약 3분
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | Chrome에서 `https://www.kccf.or.kr/` 를 엽니다 | 연합회 홈페이지가 정상 표시됩니다 | |
|
|
| 2 | 배너, 공지사항 목록이 보이는지 확인합니다 | 메인 화면 전체가 표시됩니다 | |
|
|
| 3 | "공지사항" 게시판에 들어가서 목록이 조회되는지 확인합니다 | 공지사항 목록이 나타납니다 | |
|
|
| 4 | 자물쇠 아이콘을 확인합니다 | 🔒 잠겨 있습니다 | |
|
|
|
|
**확인 시각**: ________ **결과**: O / X / △
|
|
|
|
---
|
|
|
|
## TC-PM-WEB-003: 누리집 관리자(CMS) 화면 확인
|
|
|
|
**소요 시간**: 약 5분
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | Chrome에서 `https://mng.kccf.or.kr` 을 엽니다 | 관리자 로그인 화면이 표시됩니다 | |
|
|
| 2 | mng@kccf.or.kr / 1q2w3e4r!Q 로 로그인합니다 | 관리자 대시보드가 열립니다 | |
|
|
| 3 | 대시보드에서 웹 가동 상태가 "정상"으로 표시되는지 확인합니다 | 가동 상태가 "정상"입니다 | |
|
|
| 4 | 공지사항 목록이 정상 조회되는지 확인합니다 | 공지사항 목록이 표시됩니다 | |
|
|
| 5 | 로그아웃합니다 | 정상 로그아웃됩니다 | |
|
|
|
|
**확인 시각**: ________ **결과**: O / X / △
|
|
|
|
---
|
|
|
|
## TC-PM-WEB-004: 지역N문화 화면 확인
|
|
|
|
**소요 시간**: 약 7분
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | Chrome에서 `https://www.nculture.org/man/main.do` 를 엽니다 | 지역N문화 메인 화면이 표시됩니다 | |
|
|
| 2 | 지역문화 콘텐츠 목록이나 검색창이 정상 표시되는지 확인합니다 | 콘텐츠가 정상 로딩됩니다 | |
|
|
| 3 | 검색창에 `문화` 를 입력하고 검색 버튼을 클릭합니다 | 검색 결과가 나타납니다 (WAS 연결 확인) | |
|
|
| 4 | 관리자 URL `https://www.nculture.org/uat/uia/egovLoginUsr.do` 를 엽니다 | 관리자 로그인 화면이 표시됩니다 | |
|
|
| 5 | system / ansghkdnjs2)1* 로 로그인합니다 | 관리자 화면이 열립니다 | |
|
|
| 6 | 대시보드 또는 메인 관리 화면이 정상인지 확인합니다 | 관리 화면이 정상 표시됩니다 | |
|
|
| 7 | 로그아웃합니다 | 정상 로그아웃됩니다 | |
|
|
|
|
**확인 시각**: ________ **결과**: O / X / △
|
|
|
|
---
|
|
|
|
## TC-PM-WEB-005: 통합자료관리시스템 WAS 확인
|
|
|
|
**소요 시간**: 약 7분
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | Chrome에서 `https://archive.nculture.org/` 를 엽니다 | WAS 화면 또는 로그인 화면이 표시됩니다 | |
|
|
| 2 | 페이지 로딩 시 Tomcat 오류 페이지(흰 화면에 "404", "500" 등)가 나타나지 않는지 확인합니다 | 오류 페이지가 없습니다 | |
|
|
| 3 | kadmin 계정으로 로그인 시도합니다 | 로그인 화면이 처리됩니다 | |
|
|
| 4 | WAS 시스템 콘솔 또는 대시보드가 정상 표시되는지 확인합니다 | 서버 리소스, API 연결, 배치 큐 상태가 표시됩니다 | |
|
|
| 5 | **배치 큐(Queue) 상태**가 표시되는지 확인합니다 | 배치 상태가 보입니다 | |
|
|
| 6 | localnculture 계정으로도 로그인하여 자료 연계 화면이 보이는지 확인합니다 | 자료 연계 관리 화면이 열립니다 | |
|
|
| 7 | 로그아웃합니다 | 정상 로그아웃됩니다 | |
|
|
|
|
**확인 시각**: ________ **결과**: O / X / △
|
|
|
|
---
|
|
|
|
## TC-PM-WEB-006: 지역N문화 ↔ 통합자료관리 연계 확인
|
|
|
|
**목적**: 두 시스템 간 데이터 연동이 재기동 후 정상인지 확인합니다.
|
|
**소요 시간**: 약 10분
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | 통합자료관리 WAS에 로그인하여 **"API 게이트웨이 / 서비스 연계"** 메뉴로 이동합니다 | 연계 관리 화면이 열립니다 | |
|
|
| 2 | 지역N문화 포털 전용 API 상태가 "정상" 또는 "연결됨"인지 확인합니다 | API 상태가 "정상"으로 표시됩니다 | |
|
|
| 3 | 최근 데이터 연계 트랜잭션 로그에서 오류가 없는지 확인합니다 | 최근 로그에 ERROR가 없습니다 | |
|
|
| 4 | 지역N문화 포털에서 검색 기능이 정상 동작하는지 확인합니다 (검색 엔진 연동 포함) | 검색 결과가 정상 표시됩니다 | |
|
|
|
|
**확인 시각**: ________ **결과**: O / X / △
|
|
|
|
---
|
|
|
|
## TC-PM-WEB-007: 점검 모드 해제 및 서비스 복구 확인
|
|
|
|
**목적**: 점검 페이지를 제거하고 실제 서비스로 복구합니다.
|
|
**소요 시간**: 약 5분
|
|
|
|
```bash
|
|
# Nginx 점검 모드 해제 예시
|
|
sudo mv /etc/nginx/conf.d/site.conf.bak /etc/nginx/conf.d/site.conf
|
|
sudo nginx -t && sudo systemctl reload nginx
|
|
```
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | 서버에서 점검 모드를 해제합니다 (위 명령어 참고) | 명령이 오류 없이 실행됩니다 | |
|
|
| 2 | 각 사이트를 브라우저에서 열어 실제 서비스가 표시되는지 확인합니다 | "점검 중" 페이지가 사라지고 실제 사이트가 보입니다 | |
|
|
| 3 | 점검 공지 팝업을 제거합니다 (각 CMS에서) | 공지 팝업이 더 이상 표시되지 않습니다 | |
|
|
|
|
---
|
|
|
|
# 5단계 — PM 결과 보고서 작성
|
|
|
|
---
|
|
|
|
## TC-PM-REPORT-001: GUARDiA ITSM PM 작업 완료 처리
|
|
|
|
**소요 시간**: 약 10분
|
|
|
|
| 번호 | 따라 할 행동 | 이렇게 되면 통과(O) | 결과 |
|
|
|------|-------------|----------------------|------|
|
|
| 1 | GUARDiA ITSM에 로그인하여 등록한 PM 작업을 찾습니다 | PM 작업 상세 화면이 열립니다 | |
|
|
| 2 | 각 체크리스트 항목에 결과(PASS/FAIL)를 입력합니다 | 결과가 저장됩니다 | |
|
|
| 3 | 특이사항 및 발견된 문제를 "비고" 란에 기록합니다 | 내용이 입력됩니다 | |
|
|
| 4 | "완료 처리" 버튼을 클릭합니다 | PM 작업이 완료 상태로 변경됩니다 | |
|
|
| 5 | "Excel 보고서 다운로드" 버튼으로 결과 파일을 저장합니다 | Excel 파일이 다운로드됩니다 | |
|
|
| 6 | Excel 파일을 열어 PASS/FAIL 색상이 올바른지 확인합니다 | 녹색(PASS), 빨간색(FAIL)으로 표시됩니다 | |
|
|
|
|
---
|
|
|
|
## PM 최종 결과 요약표
|
|
|
|
**PM 수행일**: ________ **수행자**: ________ **감수자**: ________
|
|
|
|
### 사전 점검 결과
|
|
|
|
| 항목 | 결과 | 특이사항 |
|
|
|------|------|---------|
|
|
| GUARDiA ITSM PM 등록 | O/X/△ | |
|
|
| 사전 서비스 상태 기록 | O/X/△ | |
|
|
| 프로세스 현황 기록 | O/X/△ | |
|
|
| DB 상태 확인 | O/X/△ | |
|
|
| 디스크 사용량 확인 | O/X/△ | |
|
|
|
|
### 재기동 결과
|
|
|
|
| 서버 | 재기동 시각 | 복구 시각 | 소요 시간 | 결과 |
|
|
|------|-----------|---------|---------|------|
|
|
| 문화품앗이 서버 | | | | |
|
|
| 누리집 서버 | | | | |
|
|
| 지역N문화 WAS | | | | |
|
|
| 통합자료관리 WAS | | | | |
|
|
|
|
### 사후 헬스체크 결과
|
|
|
|
| TC ID | 항목 | 결과 | 특이사항 |
|
|
|-------|------|------|---------|
|
|
| TC-PM-POST-001 | 서버 부팅 기본 상태 | | |
|
|
| TC-PM-POST-002 | DB 서비스 | | |
|
|
| TC-PM-POST-003 | Tomcat/WAS | | |
|
|
| TC-PM-POST-004 | 웹 서버(Nginx/Apache) | | |
|
|
| TC-PM-POST-005 | SSL 인증서 유효성 | | |
|
|
| TC-PM-POST-006 | 서비스 포트 전체 | | |
|
|
|
|
### 전면 서비스 확인 결과
|
|
|
|
| TC ID | 시스템 | 결과 | 확인 시각 |
|
|
|-------|--------|------|---------|
|
|
| TC-PM-WEB-001 | 문화품앗이 | | |
|
|
| TC-PM-WEB-002 | 공식 누리집 | | |
|
|
| TC-PM-WEB-003 | 누리집 관리자 | | |
|
|
| TC-PM-WEB-004 | 지역N문화 | | |
|
|
| TC-PM-WEB-005 | 통합자료관리 WAS | | |
|
|
| TC-PM-WEB-006 | 시스템 간 연계 | | |
|
|
| TC-PM-WEB-007 | 점검 모드 해제 | | |
|
|
|
|
### 종합 판정
|
|
|
|
```
|
|
□ 전체 통과 (모든 항목 O) → PM 정상 완료
|
|
□ 일부 보류 (△ 항목 있음) → 추가 확인 후 종결
|
|
□ 실패 항목 있음 (X 항목 있음) → 장애 처리 개시 (P2/P3 SR 등록)
|
|
```
|
|
|
|
**종합 의견**: _______________________________________
|
|
|
|
---
|
|
|
|
*PM 완료 후 GUARDiA ITSM의 PM 작업에 결과를 반드시 기록하고 Excel 보고서를 첨부하세요.*
|