자동 장애 탐지 초안 양식 추가
- apistatus-draft.yml 파일 및 관련 로직 추가 - SnakeYAML 의존성 추가 및 안전한 yml 파싱 구현 - 자동 탐지 공지 제목·본문·타임라인 문구 분리 및 설정 관리
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# ============================================================
|
||||
# API Status 자동 탐지 초안 양식
|
||||
#
|
||||
# ApiStatusDetectionService 가 자동 생성하는 공지 제목/본문/타임라인 문구를 여기서 관리한다.
|
||||
# 환경별로 갈리는 값이 아니므로 (/WEB-INF/properties 와 달리) 단일 파일이다.
|
||||
#
|
||||
# - 치환자는 {name} 형식. 정의되지 않은 키는 치환되지 않고 그대로 남는다.
|
||||
# - 이 파일이 없거나 파싱에 실패하면 코드에 박힌 기본 문구로 동작한다 (초안 생성은 멈추지 않는다).
|
||||
# - 게시되지 않은 GW 인터페이스는 이름·ID 를 노출하지 않고 gw-label 로 묶어 표기한다.
|
||||
# ============================================================
|
||||
draft:
|
||||
|
||||
# 개발자포탈에 게시되지 않은 GW 인터페이스 묶음 라벨 {count}=건수
|
||||
gw-label: "GW 인터페이스 {count}건"
|
||||
|
||||
# ---- 공지 제목 ----
|
||||
# {first}=첫 게시 API 명, {rest}=나머지 건수, {keyword}=장애|응답지연, {gw}=gw-label 적용 결과
|
||||
title:
|
||||
single: "[자동감지] {first} API {keyword}"
|
||||
multi: "[자동감지] {first} 외 {rest}종 API {keyword}"
|
||||
# 게시된 API 가 하나도 없을 때 (인터페이스 명을 쓰지 않는다)
|
||||
hidden-only: "[자동감지] {gw} {keyword}"
|
||||
|
||||
# ---- 공지 본문 (HTML) ----
|
||||
body:
|
||||
# {summary}=탐지 사유(에러율 임계 초과 등)
|
||||
lead-publish: "<p>{summary} 로 자동 감지된 장애입니다. 상세 내용은 확인 후 갱신될 수 있습니다.</p>"
|
||||
lead-draft: "<p>{summary} 로 자동 감지된 장애입니다. 관리자 검수 후 정식 게시됩니다.</p>"
|
||||
affected-heading: "영향 API"
|
||||
# 게시 상태로 나가는 본문에 "작성 필요" 가 그대로 보이면 안 되므로 문구를 나눈다
|
||||
filled-text: "확인 중입니다."
|
||||
draft-text: "[작성 필요] {hint}"
|
||||
# 관리자가 검수하며 채울 항목
|
||||
sections:
|
||||
- title: "발생 원인"
|
||||
hint: "예) 백엔드 DB 커넥션 풀 고갈로 응답 지연 발생"
|
||||
- title: "영향 범위"
|
||||
hint: "예) 조회 API 전 구간 응답 실패, 등록/수정은 정상"
|
||||
- title: "조치 내용"
|
||||
hint: "예) 커넥션 풀 증설 및 장애 인스턴스 격리 완료"
|
||||
- title: "예상 복구 시간"
|
||||
hint: "예) 복구 완료 시 실제 시각으로 갱신"
|
||||
|
||||
# ---- 타임라인 ----
|
||||
# {event}=ERROR_START 등, {summary}=탐지 사유
|
||||
# {affected}=영향 API 요약 ("계좌조회, 이체 · GW 인터페이스 2건")
|
||||
timeline:
|
||||
detected: "{summary} 자동 감지 ({event})\n영향 API: {affected}"
|
||||
api-added: "영향 API 추가 감지 ({event})\n{affected}"
|
||||
redetected: "재탐지 신호 수신 ({event})"
|
||||
escalated: "지연에서 장애로 격상 ({event})"
|
||||
recovered-all: "전체 복구 확인 ({event})\n{affected}"
|
||||
recovered-part: "일부 복구 확인 ({event})\n{affected}"
|
||||
Reference in New Issue
Block a user