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>
159 lines
12 KiB
Markdown
159 lines
12 KiB
Markdown
# 한국문화원연합회 5대 시스템 유지보수 및 모니터링 가이드 (Claude AI 전달용)
|
|
|
|
본 문서에는 한국문화원연합회에서 운영 중인 5개 웹 시스템 및 백엔드 인프라의 분석 데이터, 아키텍처 구성도, 메뉴 체계, 그리고 **Claude Desktop** 연동 후 효과적인 SR(유지보수 요청) 처리와 정기 점검(SSL, 분기 PM) 자동화를 위한 마스터 프롬프트 셋이 포함되어 있습니다.
|
|
|
|
---
|
|
|
|
## 1. 시스템 자산 및 접근 정보 아카이브
|
|
모든 모니터링 스크립트나 자동화 도구 개발 시, 아래의 엔드포인트와 계정 체계를 기본 컨텍스트로 사용합니다. *(실제 코드 구현 시 패스워드는 소스 코드에 하드코딩하지 않고 환경변수나 시크릿 매니저로 관리하도록 템플릿화합니다.)*
|
|
|
|
1. **문화품앗이 (지역문화박람회 및 자원봉사 매칭 플랫폼)**
|
|
- **URL**: https://csv.culture.go.kr/
|
|
- **마스터 관리자 계정**: `admin` / `ansghk2020**` , `admins` / `ansghk2020**`
|
|
- **외부 활동처 계정**: `ssami1016` / `duddnjsgl1!`
|
|
- **특성**: 회원 트랜잭션, 외부 기관용 권한 분리, 외부 공공 플랫폼(1365 자원봉사포털 등) 연계 존재.
|
|
|
|
2. **한국문화원연합회 공식 누리집 (메인 홈페이지)**
|
|
- **URL**: https://www.kccf.or.kr/
|
|
- **계정**: 로그인 기능 없음 (대국민 홍보용 Read-Only 포털)
|
|
- **특성**: 가동률(Uptime) 유지 중요, 외부 공격(DDoS, SQL Injection 등) 방화벽 모니터링 중심.
|
|
|
|
3. **누리집 관리자 (CMS 백엔드)**
|
|
- **URL**: https://mng.kccf.or.kr
|
|
- **최고 관리자 계정**: `mng@kccf.or.kr` / `1q2w3e4r!Q`
|
|
- **특성**: 메인 누리집(2번) 콘텐츠 제어 및 파일 배포/동기화 엔진. 독립 서브도메인 격리 구조.
|
|
|
|
4. **지역N문화 (지역문화 콘텐츠 포털 및 매니저)**
|
|
- **서비스 URL**: https://www.nculture.org/man/main.do
|
|
- **관리자 URL**: https://www.nculture.org/uat/uia/egovLoginUsr.do
|
|
- **최고 관리자 계정**: `system` / `ansghkdnjs2)1*`
|
|
- **특성**: 전자정부 표준프레임워크(eGovFrame) 기반 표준 보안 아키텍처 적용, 대용량 지식 데이터베이스 및 검색 엔진 연계.
|
|
|
|
5. **통합자료관리시스템 WAS (Backend Archive Engine)**
|
|
- **URL**: https://archive.nculture.org/
|
|
- **시스템 마스터(kadmin) 계정**: `ansghkdnjs2021!`
|
|
- **자료연계담당자 계정**: `localnculture` / `Ansghk1962*`
|
|
- **특성**: 지역N문화 및 전국 지방문화원 간 미디어/메타데이터 수집, 정제 및 배치(Batch) 위주 WAS 환경.
|
|
|
|
---
|
|
|
|
## 2. 소프트웨어 아키텍처 구성도 (3-Tier)
|
|
|
|
```
|
|
[ 대국민 및 외부 사용자 레이어 (Presentation Layer) ]
|
|
│
|
|
├──► [1. 문화품앗이 포털] (csv.culture.go.kr) ──► 일반회원 / 봉사 신청 및 조회
|
|
├──► [2. 공식 누리집] (www.kccf.or.kr) ──► 일반시민 / 공지 및 홍보 (Read-Only)
|
|
└──► [4. 지역N문화 포털] (www.nculture.org) ──► 일반시민 / 지역 문화 지식 검색
|
|
│
|
|
──┴───────────────────────────────────────────────────────────────────────
|
|
[ 내부 관리자 및 시스템 연계 레이어 (Application & WAS Layer) ]
|
|
│
|
|
├──► [1. 품앗이 관리자] (/admin) ──► 마스터 관리자 (활동처/인증 관리)
|
|
│ └─ (활동처 계정: ssami1016) ──────────► 외부 봉사 수요처 (기관 매니저)
|
|
│
|
|
├──► [3. 누리집 CMS] (mng.kccf.or.kr) ──► 누리집 콘텐츠 배포/관리 (mng@kccf.or.kr)
|
|
│ └─ (콘텐츠 동기화 / 파일 배포) ───────► [2. 공식 누리집 웹 서버]
|
|
│
|
|
├──► [4. 지역N문화 관리자] (/uat/uia/...) ──► eGovFrame 기반 자원 관리 (system 계정)
|
|
│
|
|
└──► [5. 통합자료관리 WAS] (archive.nculture.org) ◄─► [4. 지역N문화]와 API/데이터 연계
|
|
├─ 시스템 총괄 관리 (kadmin)
|
|
└─ (자료 연계 인터페이스) ◄──────────► 전국 지방문화원 시스템 (localnculture)
|
|
│
|
|
──┴───────────────────────────────────────────────────────────────────────
|
|
[ 데이터 및 인프라 레이어 (Data & Storage Layer) ]
|
|
│
|
|
├──► [회원/매칭 DB] ◄── (연계) ──► [외부 1365 자원봉사 시스템 API]
|
|
├──► [연합회 홍보 DB/CMS]
|
|
├──► [지역문화 지식 DB] ◄── (인덱싱) ──► [대용량 검색 엔진 (예: Elasticsearch)]
|
|
└──► [통합 미디어 스토리지] ──► 미디어(영상/이미지/문서) 아카이브 원천 저장소
|
|
```
|
|
|
|
---
|
|
|
|
## 3. 사이트별 상세 메뉴 구성도 (Information Architecture)
|
|
|
|
### ① 문화품앗이 (csv.culture.go.kr)
|
|
```
|
|
홈 (Home)
|
|
├── [문화품앗이 소개] (개요 및 가치, 이용 안내, 찾아오시는 길)
|
|
├── [자원봉사 모집/참여] (맞춤 봉사 검색, 정기/기획 봉사 모집, 우리 동네 활동처 찾기)
|
|
├── [문화예술 주간/이벤트] (지역 문화행사 연계 봉사, 자원봉사자 대축제 안내)
|
|
├── [커뮤니티] (공지사항 & 뉴스, 생생 봉사 후기, 활동처 소식, 자주 묻는 질문 FAQ)
|
|
└── [마이페이지 / 활동처 공간]
|
|
├── (개인) 봉사 신청 내역 및 실적 조회 (1365 연계 확인)
|
|
├── (개인) 봉사 동아리 관리
|
|
└── (활동처: ssami1016) 봉사자 모집 등록 / 출석 및 실적 승인 관리
|
|
```
|
|
|
|
### ② 한국문화원연합회 공식 누리집 (www.kccf.or.kr)
|
|
```
|
|
홈 (Home)
|
|
├── [연합회 소개] (인사말, 설립 목적, 연혁 & 조직도, 주요 정관 및 공시 자료)
|
|
├── [주요 사업] (지방문화원 육성 지원, 지역문화 전형 구축, 문화예술 교육 지원, 대외 협력)
|
|
├── [전국 문화원 안내] (지방 문화원 검색, 문화원 소식 및 행사 일정)
|
|
├── [알림마당] (공지사항, 보도자료, 입찰 공고 / 채용 정보, 업무 자료실)
|
|
└── [정보공개] (정보공개 제도 안내, 사전정보 공표사항, 사업평가 및 감사 결과)
|
|
```
|
|
|
|
### ③ 누리집 관리자 (mng.kccf.or.kr)
|
|
```
|
|
[관리자 대시보드] - 웹 가동 상태, 최근 게시글 현황, 당일 접속 통계
|
|
├── [시스템 관리] (관리자 계정/권한 설정, 메뉴 관리, 접속 로그 및 보안 이벤트 모니터링)
|
|
├── [콘텐츠 배포 관리] (메인 팝업/배너 관리, 사업 안내 텍스트 편집, 배포 이력 및 롤백 관리)
|
|
├── [게시판 마스터 관리] (알림마당 공지/보도자료 제어, 채용/입찰 및 첨부파일 관리)
|
|
└── [통계 및 리포트] (메뉴별 대국민 방문자 수, 유입 경로, 첨부파일 다운로드 통계)
|
|
```
|
|
|
|
### ④ 지역N문화 (www.nculture.org)
|
|
```
|
|
홈 (Home)
|
|
├── [지역문화 탐색] (테마별 문화 자원, 시대별 문화 자원, 우리 지역 문화 지도 GIS 연계)
|
|
├── [문화 콘텐츠 스토리] (웹진/카드 뉴스, 지역문화 스토리텔링 100선, 멀티미디어 갤러리)
|
|
├── [지방문화원 아카이브] (발간 도서/향토지 PDF 원문 검색, 구술 자료 및 오디오 아카이빙)
|
|
├── [참여/소통] (지역 문화 소문내기, 콘텐츠 오류 제보/건의사항, 공지사항)
|
|
└── [통합 검색 엔진] (통합 검색 결과 페이지 - 키워드/형태소 분석 기반 상세 필터링)
|
|
```
|
|
|
|
### ⑤ 통합자료관리시스템 WAS (archive.nculture.org)
|
|
```
|
|
[WAS 시스템 콘솔] - 서버 리소스, 현재 API 커넥션 풀, 배치 큐(Queue) 상태
|
|
├── [자료 수집/연계 매니저] (localnculture 계정 영역: 지방문화원별 데이터 송수신 스케줄러 설정, 메타데이터/미디어 원본 매핑, 연계 트랜잭션 성공/실패 로그 관리)
|
|
├── [아카이브 마스터 데이터 관리] (kadmin 계정 영역: 지역문화 소스 데이터 카테고리 분류, 대용량 미디어 파일 스토리지 경로/볼륨 관리, 데이터 정합성 검증 및 중복 정제)
|
|
├── [API 게이트웨이 / 서비스 연계] (지역N문화 포털 전용 API 관리, 외부 공공 개방 API 토큰 제어, 검색엔진 데이터 동기화 인덱싱 트리거 관리)
|
|
└── [시스템 환경 설정] (인프라 백업 정책 설정, 파일 업로드 용량 제한 설정, Java WAS JVM 옵션 제어)
|
|
```
|
|
|
|
---
|
|
|
|
## 4. Claude Desktop 초기 분석 지시 프롬프트 (첫 연결 후 사용)
|
|
|
|
연결된 **Java, PHP 소스 코드** 디렉터리를 스캔할 때 Claude Desktop에 아래 프롬프트를 복사하여 순차적으로 지시하십시오.
|
|
|
|
### [지시 1] 소스 코드 파악 및 전체 지도 그리기
|
|
> 내가 연결한 Java 및 PHP 소스 코드 디렉터리를 전체적으로 스캔해줘. 그리고 이 소스 코드들이 앞서 정의된 5개 시스템(문화품앗이, 누리집, 누리집 관리자, 지역N문화, 통합자료관리시스템) 중 각각 어디에 매칭되는지 분석해서 '프로젝트별 기술 스택 요약서'를 작성해줘. 특히 각 프로젝트의 메인 프레임워크(예: Spring/eGovFrame, Laravel, CodeIgniter, 순수 PHP 등)와 엔트리 포인트(시작 지점)를 찾아내줘.
|
|
|
|
### [지시 2] 환경 변수 및 DB 커넥션 정보 격리
|
|
> 각 프로젝트 소스 코드 내에서 데이터베이스 커넥션 설정 파일(예: `application.properties`, `context-datasource.xml`, `config.php`, `db.php` 등)을 모두 찾아줘. 그리고 그 파일들 안에 패스워드나 API 키가 하드코딩되어 있는지 점검하고, 이를 `.env` 파일이나 외부 환경 변수로 안전하게 격리할 수 있도록 가이드와 리팩토링 코드를 제안해줘.
|
|
|
|
### [지시 3] 시스템 간 연계 및 API 엔드포인트 추출
|
|
> 5번 통합자료관리시스템(WAS)과 4번 지역N문화 시스템의 소스 코드를 분석해서, 두 시스템이 서로 데이터를 주고받는 'API 엔드포인트(URL)'나 '인터페이스 클래스/파일'을 모두 추출해줘. 외부 시스템(예: 1365 자원봉사포털)과 통신하는 배치(Batch) 스케줄러 코드나 통신 모듈이 있다면 그 위치와 작동 방식도 함께 정리해줘.
|
|
|
|
---
|
|
|
|
## 5. 정기 운영 이벤트를 위한 코드 생성 요구 가이드
|
|
|
|
### ① SSL 인증서 정기 교체 모니터링 자동화
|
|
> **Claude 지시용 프롬프트:**
|
|
> 파이썬 `ssl`과 `socket` 라이브러리를 사용해서 위의 5개 도메인의 SSL 만료일을 체크하고, 만료가 30일 이내로 남았을 때 슬랙(Slack) 웹훅으로 알람을 보내는 파이썬 헬스체크 스크립트를 짜줘. 소스 내에 웹훅 URL과 도메인 리스트는 변수나 환경변수로 받도록 작성해줘.
|
|
|
|
### ② 분기별 PM (서버 OS 재기동) 이후 포스트 헬스체크
|
|
> **Claude 지시용 프롬프트:**
|
|
> 분기별 PM(서버 재기동) 이후 시스템이 정상적으로 올라왔는지 인프라 레이어부터 전면부까지 검증하는 **'포스트 헬스체크 쉘 스크립트(Bash)'**를 작성해줘.
|
|
> 스크립트에는 다음 내용이 포함되어야 해.
|
|
> 1. 2번 누리집, 4번 지역N문화 등 전면 웹 서버의 HTTP 상태 코드(200 OK) 점검
|
|
> 2. 5번 아카이브 WAS 내부 Tomcat 프로세스(`ps -ef | grep tomcat`)가 정상 구동 중인지 체크
|
|
> 3. 서비스 포트(80, 443, 8080 등)가 활성화되어 리슨(Listen) 상태인지 검증
|
|
> 4. 체크 결과를 로그 파일로 남기고, 에러 발생 시 지정된 관리자 이메일이나 슬랙으로 리포트 전송하는 로직
|