zioinfo-mail/projects/kccf/claud.md
DESKTOP-TKLFCPR\ython e228faabf5 feat(itsm): G-1~G-12 확장 기능 + 하네스/봇/설치스크립트 구현
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>
2026-05-29 18:18:52 +09:00

12 KiB

한국문화원연합회 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문화 (지역문화 콘텐츠 포털 및 매니저)

  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 지시용 프롬프트: 파이썬 sslsocket 라이브러리를 사용해서 위의 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. 체크 결과를 로그 파일로 남기고, 에러 발생 시 지정된 관리자 이메일이나 슬랙으로 리포트 전송하는 로직