교육-19

강민창·2024년 7월 10일

회사 교육

목록 보기
19/29

장애유형 및 대응방법 - 장애유형

장애유형은 크게 라이선스, 설치오류, 소스(개발)오류, 환경 변화에 따른 오류로 나눌 수 있다
각 유형별 대응 방법을 숙지

  • 라이선스 오류

    • 개발/운영 라이선스 오류 발생
  • 설치 오류

    • NRE 버전에서 주로 발생하는 문제로 초기 엔진모듈 설치 시 발생 => FAQ문서를 참고하여 대응
  • 소스(개발) 오류

    • 개발 소스 오류 등으로 인해 발생(소스 디버깅 필요)
  • 환경변화에 따른 오류

    • 잘 사용하던 프로그램이 갑자기 장애가 생기는 경우
    • 보안 모듈 또는 Window 환경변화가 있는지 체크
    • 가장 먼저 의심해 볼 부분은 소스 변경 사항과 서버 환경변화가 있었는지 체크
    • 화면(UI)단과 서비스단을 분리하여 접근

장애발생 원인은 다양하지만 크게 4가지 유형으로 정리할 수 있음

라이선스 오류

개발용 라이선스와 운영 라이선스의 이해

  • 개발용 라이선스는 2개월 단위 발행
    • 개발용 라이선스는 support.tobasesoft.co.kr 기술지원 홈페이지에서 매월 발생 가능하며, 사용기간 2개월(운영 라이선스의 경우 별도 기간 없음)
  • 라이선스 장애 발생시 경고
    • 운영중인 시스템이 중지되는 것을 막기 위해 라이선스 장애가 발생해도 경고 형태로 보여지며 고객사의 서비스가 중단되지 않음(17.1 버전부터는 정책변경)
  • 라이선스 장애 해결방법
    • 운영중인 시스템의 장애가 발생한 경우 기술지원 홈페이지의 개발용 라이선스로 변경하여 시스템 오류를 해결하고, 영업대표 또는 기술지원을 통해 문제 해결

라이선스 장애는 개발용 라이선스를 이용하여 선 처리 후 정리

X-API(라이선스 체크시점)

X-API는 WAS로딩 시 라이선스 파일을 로딩하며, 이후 라이선스 체크는 서비스 호출 시 유효기간을 체크한다

  • X-API 라이선스 체크 시점
    • 라이선스 체크는 WAS start 후 최초 서비스 호출 시 라이선스 파일을 읽어 사용자, 서버IP, 기간 체크 이후 서비스 호출부터는 기간만을 체크함
    • 운영 라이선스의 경우 별도 기간이 명기되어 있지 않기 때문에 기간확인을 위한 체크 로직은 수행하나 기간은 체크하지 않음

배포오류

제품 구성 중 NRE 버전을 사용하는 경우 엔진 및 컴포넌트 설치 필요

작업소스 오류

작업소스 오류는 Client, Server(서비스) 구분이 선행되어야 한다

  • Client 오류
    • UI화면 사용시 또는 개발과정에서 오류가 발생
  • Server(서비스) 오류
    • Client에서 Server(서비스)호출 시 백지화 현상
    • 장애발생시 protocol 오류 메시지 출력 => 주로 서비스 호출 시 발생
  • http 오류메시지 참고

함수 Overriding

함수 Overriding은 기존에 사용하던 기능이 패치로 인해 기능이 변경되었거나, 엔진 소스의 특정 목적을 달성하기 위해 수정이 필요한 경우 유지보수를 대응하기 위함

  • Adl의 Script 이용
    • ADL의 Edit Script에 수정할 소스를 기술

반드시 주석으로 영역을 표시함으로써 추후 유지보수 단계에서 디버깅/확인을 쉽게 할 수 있도록 자세한 주석을 추가해 준다

  • TypeDefinition 등록
    • Overriding.json으로 소스를 분리하여 TypeDefinition으로 등록 관리
    • Overriding.js는 Adl에 기술한 내용을 그대로 적어준다

JSON으로 등록하여 관리하는 경우에는 모든 json보다 밑에 설정이 되어야 함

환경변화에 따른 오류

WEB/WAS 환경 및 접근 경로 등의 변화에 따른 오류발생

  • 접근 도메인, IP, Core 등이 변경된 경우(서버 이전)

    • 제품은 라이선스 정책에 따라 도메인, IP,Core정보 등의 변경이 발생시 라이선스 재발급 필요
    • 장애 발생시 개발용 라이선스로 선 처리 후 정리(재발급)
  • Application 서비스 파일 오류

    • 파일 삭제 및 접근 경로 오류 발생
    • 형상관리 프로그램 등을 이용하여 반영시 소스를 잘못 반영하는 경우(원인 : Deploy 오류)
  • 기타

    • Web, Was 버전 업그레이드 또는 서버 환경파일 변경 체크
    • 최근 JEUS7 버전의 경우 Contexts설정에 따라 세션값 "=" 변경 문제 발생(지금은 해결됨)

디버깅 - 제품 디버깅 하는 방법

제품에서 제공하는 Trace를 이용한 방법

  • 제품에서 제공하는 trace, alert를 이용하는 경우
    • alert : 단순 이벤트 발생 및 내용 확인 시
    • trace : 이벤트 순서를 확인하기 위해서는 alert이 아닌 trace를 이용해야만 정확한 순서 확인 가능

  • 제품 디버그(F5)
    • 런타임에서 제공하는 기본 Debug

비정상 종료

프로그램 사용 중 비정상 종료에 대한 기본 덤프설정과 기본 분석방법을 숙지한다

  • Dump분석을 위한 툴 설치 : windbg

    • Window에서 사용하는 대표적인 커널 디버깅 프로그램으로 Ms에서 제공하는 windbg사용
  • 디버깅용 모듈 준비 : PBD모듈

    • 제품은 크기 Release, ReleaseDebug 버전으로 구분
      (디버그를 위해서는 고객사에서 사용하고 있는 RleaseDebug모듈 준비 : 별도 배포)
    • ReleaseDebug버전을 통해 덤프파일을 생성해야만 분석이 가능
  • 디버그 실행

    • 수동설정 방법
    • 자동설정 방법

디버깅 덤프작업 진행순서

Fiddler

Fiddler 프로그램을 이용한 소스 디버깅
Auto response 기능을 활용한 소스 디버깅 방법

  • Auto response 기능을 통한 소스 디버깅
    • 패킷리스트에서 선택 후 response로 변경할 항목을 선택 후 오른쪽에서 파일을 찾아 연결해준다
      Add Rule 버튼을 클릭하여 추가해준다

0개의 댓글