1. 업무 흐름상 연결 지점
신용정보원 조회값이 보험료 산출 변수, 신용등급, 한도, 요율 차등, 인수심사 조건 등에 사용되는 경우 대외계 장애는 보험료 산출 에러와 직접 연결됩니다.
청약/배서/갱신 화면 또는 API에서 고객·계약정보 입력
대외계 전문 송수신, 식별정보 매칭, 신용정보 수신
등급·연체·채무불이행·신용조회결과를 보험료 변수로 매핑
요율, 할인/할증, 심사조건, 최소보험료, 예외규칙 적용
보험료 확정, 증권 발급, 오류 건 재산출 대상 관리
2. 장애 타임라인 예시
3. 연관성 판정 로직
직접 연관 같은 시간대에 신용정보원 거래 실패가 있고, 동일 거래 ID 또는 동일 고객의 보험료 산출 오류가 발생한 경우
간접 연관 신용정보원 장애로 캐시/대체값/전일값이 사용되어 보험료가 정상 산출되었지만 금액이 왜곡된 경우
무관 가능성 보험료 오류가 신용정보원 조회 전 단계 또는 보험료 엔진 룰 배포 이후 특정 상품에서만 발생한 경우
4. 원인 후보별 분석 매트릭스
| 원인 후보 | 발생 메커니즘 | 확인 로그/데이터 | 보험료 영향 | 우선도 |
|---|---|---|---|---|
| ① 신용정보원 응답 지연/타임아웃 | 보험료 산출 전 필수 조회가 제한시간 내 완료되지 않아 산출 프로세스 실패 | 대외계 송수신 로그, WAS timeout, EAI/MCI timeout, 재시도 로그 | 산출불가, 오류 메시지, 청약 진행 중단 | 최상 |
| ② 전문 응답값 오류/누락 | 응답은 수신했으나 필수 필드가 null, 공백, 비정상 코드로 들어옴 | 원문 전문, 파싱 로그, 전문 스키마 검증 결과 | 등급 미산출, 할인/할증 오류, 기본요율 오적용 | 최상 |
| ③ 대체값/Fallback 규칙 오류 | 조회 실패 시 전일값, 기본값, 최저/최고 위험값 적용 규칙이 잘못 작동 | Fallback 적용 여부, 룰 엔진 로그, 산출 변수 스냅샷 | 보험료 과다/과소 산출, 민원 및 정산 필요 | 상 |
| ④ 캐시·배치·실시간 값 불일치 | 실시간 조회 실패 후 캐시값 또는 배치 적재값이 혼재되어 산출 기준 불일치 | 캐시 hit/miss, 배치 적재시간, 기준일자, 고객별 산출 입력값 | 동일 고객 재산출 시 보험료 차이 | 중상 |
| ⑤ 보험료 엔진 자체 오류 | 대외계 장애와 무관하게 상품 룰, 요율 테이블, 배포 오류로 산출 실패 | 룰 배포이력, 상품코드별 오류율, 엔진 예외 로그 | 특정 상품/담보/채널에서만 오류 집중 | 분리검증 |
5. 분석용 핵심 데이터
| 구분 | 필수 항목 |
|---|---|
| 대외계 로그 | 거래ID, 고객식별키, 요청시각, 응답시각, 응답코드, 타임아웃 여부, 원문 전문 |
| 보험료 산출 로그 | 산출ID, 거래ID, 상품코드, 담보코드, 산출시각, 입력변수, 산출보험료, 오류코드 |
| 룰/요율 이력 | 요율 테이블 버전, 룰 엔진 버전, 배포시각, 상품별 적용조건 |
| 대체값 이력 | Fallback 적용 여부, 캐시 사용 여부, 신용정보 기준일자, 기본값 적용 사유 |
| 재산출 결과 | 장애 당시 보험료, 복구 후 보험료, 차액, 고객 안내/정정 대상 여부 |
6. 원인분석 체크리스트
7. 원인 후보 상세
보험료 산출 엔진이 신용정보 조회를 동기 방식으로 호출하고, 응답 제한시간 초과 시 산출을 중단하는 구조라면 직접 원인입니다.
오류는 발생하지 않지만 보험료가 과다/과소 산출됩니다. 고객에게 제시된 금액이 틀릴 수 있어 재산출과 정정이 필요합니다.
응답코드는 정상이어도 전문 구조 변경, 자리수 오류, 인코딩 문제로 내부 변수 변환 단계에서 null이 생성될 수 있습니다.
대외계 장애와 무관하게 특정 상품, 특정 담보, 특정 룰 버전에서만 오류가 집중되면 보험료 엔진 자체 문제로 분리해야 합니다.
8. 판정 기준
9. 로그/DB 점검 쿼리 예시
/* 대외계 실패 거래와 보험료 산출 오류 거래 매칭 */
SELECT
a.tx_id,
a.customer_id,
a.req_time,
a.res_time,
a.result_code AS ci_result_code,
a.error_message AS ci_error_message,
b.calc_id,
b.product_code,
b.calc_time,
b.error_code AS premium_error_code,
b.premium_amount
FROM ext_credit_info_log a
JOIN premium_calc_log b
ON a.tx_id = b.ext_tx_id
WHERE a.req_time BETWEEN TIMESTAMP '2026-06-15 09:00:00'
AND TIMESTAMP '2026-06-15 10:30:00'
AND a.result_code NOT IN ('0000', 'SUCCESS')
AND b.error_code IS NOT NULL
ORDER BY a.req_time;
/* 장애 전후 오류율 비교 */
SELECT
CASE
WHEN calc_time < TIMESTAMP '2026-06-15 09:12:00' THEN '장애 전'
WHEN calc_time <= TIMESTAMP '2026-06-15 10:05:00' THEN '장애 중'
ELSE '복구 후'
END AS period,
COUNT(*) AS total_calc_cnt,
SUM(CASE WHEN error_code IS NOT NULL THEN 1 ELSE 0 END) AS error_cnt,
ROUND(
SUM(CASE WHEN error_code IS NOT NULL THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2
) AS error_rate_pct
FROM premium_calc_log
WHERE calc_time BETWEEN TIMESTAMP '2026-06-15 08:30:00'
AND TIMESTAMP '2026-06-15 11:00:00'
GROUP BY
CASE
WHEN calc_time < TIMESTAMP '2026-06-15 09:12:00' THEN '장애 전'
WHEN calc_time <= TIMESTAMP '2026-06-15 10:05:00' THEN '장애 중'
ELSE '복구 후'
END;
/* 재산출 및 고객 정정 대상 식별 */
SELECT
calc_id,
policy_no,
customer_id,
product_code,
calc_time,
premium_amount AS original_premium,
fallback_yn,
cache_yn,
credit_grade,
credit_info_base_date,
CASE
WHEN error_code IS NOT NULL THEN '산출오류 재처리'
WHEN fallback_yn = 'Y' OR cache_yn = 'Y' THEN '정상조회 후 금액검증'
ELSE '모니터링'
END AS action_type
FROM premium_calc_log
WHERE calc_time BETWEEN TIMESTAMP '2026-06-15 09:12:00'
AND TIMESTAMP '2026-06-15 10:05:00'
AND (
error_code IS NOT NULL
OR fallback_yn = 'Y'
OR cache_yn = 'Y'
OR credit_grade IS NULL
)
ORDER BY calc_time;
# WAS / EAI / MCI 로그 검색 키워드 예시 TIMEOUT READ_TIMEOUT CONNECT_TIMEOUT BROKEN_PIPE CI_RESPONSE_NULL CREDIT_INFO_EMPTY PARSING_ERROR INVALID_LENGTH INVALID_RESPONSE_CODE FALLBACK_APPLIED CACHE_HIT RATE_ENGINE_INPUT_NULL PREMIUM_CALC_FAIL RULE_EXECUTION_ERROR
10. 즉시 조치
- 장애시간대 보험료 산출 성공/실패 전체 건 동결 및 재검증
- 신용정보 필수값 null/기본값 적용 건 추출
- 고객 제시 보험료와 재산출 보험료 차이 산출
- 증권 발급 완료 건은 정정/환급/추가징수 기준 마련
11. 재발방지
- 대외계 장애 시 보험료 확정 저장 차단 또는 보류 상태 처리
- Fallback 사용 시 화면·로그·DB에 명시적으로 마킹
- 대외계 응답 지연과 보험료 오류율 통합 모니터링
- 복구 후 자동 재산출 배치 및 차액 리포트 생성
12. 보고서 결론 문구
“장애시간대 신용정보원 대외계 응답 지연 및 일부 전문 미수신으로 인해 보험료 산출 필수 입력값이 누락되었고, 해당 거래와 보험료 산출 오류 거래의 거래ID 및 발생시각이 일치하여 직접 연관성이 확인됨. 다만 일부 건은 Fallback 값 적용으로 산출은 성공했으나 보험료 차액 발생 가능성이 있어 재산출 검증 대상으로 분류함.”