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>
12 KiB
한국문화원연합회 5대 시스템 유지보수 및 모니터링 가이드 (Claude AI 전달용)
본 문서에는 한국문화원연합회에서 운영 중인 5개 웹 시스템 및 백엔드 인프라의 분석 데이터, 아키텍처 구성도, 메뉴 체계, 그리고 Claude Desktop 연동 후 효과적인 SR(유지보수 요청) 처리와 정기 점검(SSL, 분기 PM) 자동화를 위한 마스터 프롬프트 셋이 포함되어 있습니다.
1. 시스템 자산 및 접근 정보 아카이브
모든 모니터링 스크립트나 자동화 도구 개발 시, 아래의 엔드포인트와 계정 체계를 기본 컨텍스트로 사용합니다. (실제 코드 구현 시 패스워드는 소스 코드에 하드코딩하지 않고 환경변수나 시크릿 매니저로 관리하도록 템플릿화합니다.)
-
문화품앗이 (지역문화박람회 및 자원봉사 매칭 플랫폼)
- URL: https://csv.culture.go.kr/
- 마스터 관리자 계정:
admin/ansghk2020**,admins/ansghk2020** - 외부 활동처 계정:
ssami1016/duddnjsgl1! - 특성: 회원 트랜잭션, 외부 기관용 권한 분리, 외부 공공 플랫폼(1365 자원봉사포털 등) 연계 존재.
-
한국문화원연합회 공식 누리집 (메인 홈페이지)
- URL: https://www.kccf.or.kr/
- 계정: 로그인 기능 없음 (대국민 홍보용 Read-Only 포털)
- 특성: 가동률(Uptime) 유지 중요, 외부 공격(DDoS, SQL Injection 등) 방화벽 모니터링 중심.
-
누리집 관리자 (CMS 백엔드)
- URL: https://mng.kccf.or.kr
- 최고 관리자 계정:
mng@kccf.or.kr/1q2w3e4r!Q - 특성: 메인 누리집(2번) 콘텐츠 제어 및 파일 배포/동기화 엔진. 독립 서브도메인 격리 구조.
-
지역N문화 (지역문화 콘텐츠 포털 및 매니저)
- 서비스 URL: https://www.nculture.org/man/main.do
- 관리자 URL: https://www.nculture.org/uat/uia/egovLoginUsr.do
- 최고 관리자 계정:
system/ansghkdnjs2)1* - 특성: 전자정부 표준프레임워크(eGovFrame) 기반 표준 보안 아키텍처 적용, 대용량 지식 데이터베이스 및 검색 엔진 연계.
-
통합자료관리시스템 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)'**를 작성해줘. 스크립트에는 다음 내용이 포함되어야 해.
- 2번 누리집, 4번 지역N문화 등 전면 웹 서버의 HTTP 상태 코드(200 OK) 점검
- 5번 아카이브 WAS 내부 Tomcat 프로세스(
ps -ef | grep tomcat)가 정상 구동 중인지 체크- 서비스 포트(80, 443, 8080 등)가 활성화되어 리슨(Listen) 상태인지 검증
- 체크 결과를 로그 파일로 남기고, 에러 발생 시 지정된 관리자 이메일이나 슬랙으로 리포트 전송하는 로직