alert
파트너 프로그램 문의 요청이 정상적으로 전송되었습니다.
담당자가 곧 연락드리도록 하겠습니다.
메뉴 열기

장애 진단 및 보고

스택트레이스

JDBC, FTP, SFTP 등 통신을 수행하는 쿼리를 이용하여 외부 시스템을 연동하다보면, 해당 시스템의 부하나 통신 장애로 인해 스트림이 더 이상 데이터를 처리하지 못하고 멈추는 경우가 발생합니다.

로그프레소에서 특정한 데이터 수집이나 스트림이 계속 멈춰있는 경우, 현재 시스템의 상태를 정확하게 진단하기 위해 스택트레이스를 추출하여 진단할 수 있습니다. 아래의 2가지 방법 중 하나를 선택하여 몇 초의 간격을 두고 스택트레이스를 2~3번 추출하고, 기술지원을 통해 데이터를 전달합니다:
1. jstack 명령어 사용
로컬 7004번 포트 혹은 SSH 7022번 포트로 로그프레소 터미널에 접속한 상태에서, jstack 명령을 실행하면 현재 로그프레소의 작업 디렉터리에 스택트레이스 파일이 출력됩니다.

araqne@localhost> jstack
wrote jstack to /data/logpresso/jstack_20151116_165625.txt

이 파일은 아래와 같이 자바 버전, 운영체제 및 아키텍처, 환경 변수, 전체 스레드의 스택트레이스 데이터를 포함하고 있습니다:

Full thread dump Java HotSpot(TM) 64-Bit Server VM(1.8.0_60-b27 mixed mode)

Operating System
------------------
Windows 10 (version=10.0, arch=amd64)

Environment Variables
-----------------------
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg=sun.io
user.country=KR
user.script=
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=
java.vm.specification.name=Java Virtual Machine Specification
java.runtime.version=1.8.0_60-b27
java.vm.specification.vendor=Oracle Corporation


Thread dump (total=93)
------------------------------------------
"Araqne Script Runner [jstack]" tid=451491: (state = RUNNABLE)
  at sun.management.ThreadImpl.dumpThreads0
  at sun.management.ThreadImpl.getThreadInfo
  at org.araqne.script.JstackHelper.dump (JstackHelper.java:52)
  at org.araqne.script.CoreScript.jstack (CoreScript.java:106)
  at sun.reflect.NativeMethodAccessorImpl.invoke0
  at sun.reflect.NativeMethodAccessorImpl.invoke
  at sun.reflect.DelegatingMethodAccessorImpl.invoke
  at java.lang.reflect.Method.invoke
  at org.araqne.console.ScriptRunner.invokeScript (ScriptRunner.java:222)
  at org.araqne.console.ScriptRunner.run (ScriptRunner.java:203)
  at java.lang.Thread.run
2. system threads 쿼리

웹 브라우저로 로그프레소에 접속 후 스택트레이스 진단 쿼리를 실행하여 쿼리 결과를 다운로드 할 수 있습니다.

system threads

각 스택트레이스는 잠금 정보를 포함하고 있으므로, 스레드 간 교착이 발생하거나 잠금을 소유한 스레드가 네트워크 통신 중 대기하는 상황이 발생하면 정확하게 진단할 수 있습니다.

최신정보 받기