본문 바로가기
반응형

 

플러그인은 Webserver 안에서 실행되는 특성이 있는데 만일 web -> was 연동이 잘 안될경우,

에러 원인을 분석하기 위한 로그가 부족하고 에러가 있다고 해도 OS관련 에러가 많기떄문에 원인찾기가 쉽지 않다.

 

에러를 찾기 위해 분석해야 할 것들을 알아보면 (WebLogic 기준)

 

1. 에러 코드
    HTTP 관련된 에러인지, OS에러인지, 플러그인 로직 에러인지 판단의 기반이 되는 에러 코드를 access log 또는 웹 서버     로그에서 찾는다.


2. access log
   1) 웹로직과 웹서버의 access log 를 살펴본다.
        • 웹로직까지 requeset 가 전달이 되었는지 살펴보기 위해
        • 특정 웹로직 서버만 발생하는지 살펴보기 위해
    2) 주의사항으로 웹서버와 웹로직 access log 사이에 시간 차가 존재할 수 있다.

 

3. 웹로직/웹서버 로그
    1) access log 에 있는 결과 코드 외에 간단한 에러 메시지도 기록되므로 확인
        • 기본값이면 플러그인은 디버깅 로그를 남길 수 없으므로 단서가 될 수 있다.
    2) 플러그인 입장에서 통신이 잘 되었다고 판단되면 웹로직 로그를 살펴본다.
        • access log 에서 에러가 발생한 시간과 같은 시간에 exception 또는 앱이 남긴 에러메시지가 있는지 살펴본다.
        • 시간차가 있으니 주의한다.


4. 플러그인 디버깅 로그
    1) 플러그인 옵션으로 디버깅 옵션을 주면 wlproxy.log 에 플러그인 동작마다 로그 메시지를 남긴다.
    2) 이 로그가 있다면 문제에 많은 도움이 된다.


5. 네트워크 상태
    1) 웹서버와 웹로직 서버간 통신이 많이 일어나므로 네트워크 상태가 에러를 유발할 수 있다.
    2) netstat 및 ping 으로 살펴볼 필요가 있다.
        • IP와 port로부터 어느 웹로직 서버와 연결이 많은지 알 수 있다.
        • 몇 개가 연결되어 있고, 종료중인 소켓이 몇 개인지 파악할 수 있다.


6. CPU 및 File System 사용량
    1) 에러 시점 CPU사용량을 확인해서, 그 시점에 플러그인이 CPU를 사용하지 못했거나 오히려 너무 많이 사용하는 경우     가 있는지 체크한다.
    2) 브라우저에서 POST형식으로 대량 데이터를 보낼 때 임시 파일에 저장해두었다가 웹로직 서버로 보낸다.
    • 이 때, 임시파일을 만들 공간이 부족할 경우 에러가 난다.

Ø 플러그인 디버깅 로그면 해결되는데 왜 안쓰는가?
    ○ 디버깅 로그에는 여러 정보가 기록되므로 속도가 느려지며 로그 파일이 많이 커지므로 주의를 요한다.
    ○ 다음 내용이 기록된다.
        1) 브라우저(혹은 웹서버)로부터 request 를 받아 해석
        2) 웹로직 서버로 request 전달
        3) 웹로직 서버로부터 response 를 받아 해석
        4) 브라우저로 response 를 전달

Ø 플러그인 디버깅 로그에서 무엇을 확인해야 하는가?
    1) 에러코드 
    2) 어느 부분에서 에러가 났는지


   예를 들어, "READ_ERROR_FROM_CLIENT" 라는 에러 메시지가 있다면, 브라우저로부터 request를 받아 들이는 부분에서 에러가 났다고 판단할 수 있다. 더 자세히 말해보면, "READ_ERROR_FROM_CLIENT” 에러와 함께 OS 에러 131 번이 기록되어있다고 하자. OS 에러 번호는 보통 /usr/include/sys/errno.h 안에서 찾아볼 수 있다. 131 번을 찾아보면 ECONNRESET(Connection reset by peer) 라고 나와있는데 이것은 상대방(브라우저)이 소켓을 닫아버린 경우이다. 즉, 브라우저에서 요청을 보내는 도중에 중지 버튼을 누르거나 브라우저를 닫았거나 혹은 다른 페이지로 이동해버린 경우이다.


    3) 언제 에러가 나는지
        • 어떤 상황에서 어떤 request를 보낼 때 해당 에러가 나는지
        • 이전에도 같은 에러가 나는지
        • 웹서버 에러로그를 살펴보고 같은 시간에 웹로직 서버 로그에 exception 또는 application 에서 남기는 에러 메시지         가 있는지 등을 살펴본다.

728x90
반응형

'IT 공부 > Web-WAS' 카테고리의 다른 글

[WEB-WAS] mod_wl conf 속성 값 정리  (0) 2024.02.27
MIME 타입이란?  (0) 2024.02.25
[iPlanet] Obj.conf 이해  (0) 2024.02.22
[WebLogic] 웹로직 스킨 변경 방법  (0) 2024.02.21
[WebLogic] 웹로직 엔진 설치  (0) 2021.09.07

한걸음 한걸음

개인적인 기록