Application Servers & Java

JBoss 장애 사례: 세션 끊김, 로그 비정상, 비정상 배포 장애

midworker 2025. 5. 15. 22:23
반응형

JBoss 장애 사례: 세션 끊김, 로그 비정상, 비정상 배포 장애

이번 글에서는 다음과 같은 Web/WAS 운영 중 자주 발생하는 장애를 정리합니다.

  • 세션이 예기치 않게 끊기는 문제
  • 로그가 저장되지 않거나 생성되지 않는 현상
  • 애플리케이션이 배포 상태에서 비정상적으로 undeploy되는 사례

✅ 1. 세션 끊김 현상

🔹 증상

  • 사용자가 로그인 후 특정 시간 지나면 세션이 사라짐
  • 서버 재기동이 없었음에도 로그인 상태 유지 실패

🔹 원인

  • JBoss에 설정된 세션 타임아웃이 짧음
  • 클러스터링 시 sticky session 설정 누락
  • 브라우저 쿠키 차단, 프록시 캐시 영향

🔹 해결 방법

web.xml

<session-config>
  <session-timeout>60</session-timeout> <!-- 분 단위 -->
</session-config>

Apache 설정 (mod_proxy_ajp 등)

ProxyPass /app ajp://localhost:8009/app stickysession=JSESSIONID

Tomcat/Undertow

<engine jvmRoute="node1">

세션 끊김은 클러스터 구성 시 가장 주의해야 할 항목입니다.


✅ 2. 로그 파일 생성/저장 안됨

🔹 증상

  • server.log, app.log 등이 생성되지 않거나, 빈 파일로 존재
  • 특정 시점 이후 로그가 기록되지 않음

🔹 원인

  • 로그 경로의 디스크 부족
  • 퍼미션 문제 (jboss 계정의 write 권한 없음)
  • standalone.xml의 로거 설정 누락

🔹 해결 방법

로그 경로 퍼미션 확인

ls -alh /was/eap/standalone/log/
chmod -R 755 log/

로거 설정 예 (standalone.xml)

<periodic-rotating-file-handler name="FILE">
  <file relative-to="jboss.server.log.dir" path="server.log"/>
  <suffix value=".yyyy-MM-dd"/>
</periodic-rotating-file-handler>

log4j/logback 설정 확인

  • 시스템 로그 외 애플리케이션 로그는 자체 설정 확인 필요

✅ 3. WAR 파일이 비정상적으로 Undeploy됨

🔹 증상

  • 배포된 .war 파일이 서버 기동 중 사라지거나 비활성화됨
  • .deployed.undeployed로 변경됨

🔹 원인

  • 디렉터리 감시 기능으로 .war 파일 수정 시 자동 Undeploy 발생
  • 파일시스템 I/O 지연 또는 NFS/NAS 사용 시 불안정

🔹 해결 방법

  • .war.dodeploy 파일만 사용하고 .war 파일 수정은 배포 후 하지 않기
  • NAS 환경에서는 auto-deploy 비활성화
<deployment-scanner auto-deploy-exploded="false" auto-deploy-zip="false" scan-enabled="false"/>
  • CLI 배포 방식 사용 권장:
./jboss-cli.sh --connect
deploy --force /path/to/app.war

✅ 마무리

이번 글에서는 세션 문제, 로그 미기록, 비정상 배포 언디플로이 현상
서비스 운영 중 발생할 수 있는 고전적인 장애들을 정리했습니다.
마지막 편에서는 시스템 환경과 설정 실수로 인한 구조적 장애들을 다룹니다.

반응형