sentry-jstack
원격 센트리에서 전체 스레드 덤프를 조회합니다. 수집기의 내부 동작 상태 등을 원격으로 진단하는 데 사용합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 가공 쿼리 |
| 필요 권한 | 관리자 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 지원 |
| 분산 실행 | 미지원 |
문법
sentry-jstack [timeout=INT]
옵션
timeout=INT- 초 단위 RPC 타임아웃. 1 이상 600 이하의 값을 지정할 수 있습니다. (기본값:
30)
입력 필드
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
| guid | 문자열 | 필수 | 센트리 고유 식별자 |
출력 필드
| 필드 | 타입 | 설명 |
|---|---|---|
| guid | 문자열 | 센트리 고유 식별자 |
| tid | 64비트 정수 | 스레드 ID |
| name | 문자열 | 스레드 이름 |
| state | 문자열 | 스레드 상태 |
| stacktrace | 문자열 | 스레드 스택 트레이스 |
| _error | 문자열 | 오류 발생 시 오류 메시지 |
state 필드에 할당될 수 있는 값은 다음과 같습니다.
| 값 | 설명 |
|---|---|
| RUNNABLE | 언제든 실행 가능한 스레드 |
| BLOCKED | 사용할 객체의 락이 풀릴 때까지 대기 중인 스레드 |
| TIMED_WAITING | 주어진 시간 동안 대기 중인 스레드 |
| WAITING | 다른 스레드와 동기화를 위해 대기 중인 스레드 |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 23100 | 센트리 RPC 호출 권한이 없습니다. | 관리자 권한이 없는 사용자가 명령어를 실행한 경우 |
| 23101 | 유효하지 않은 센트리 RPC 타임아웃 옵션 값입니다. 1부터 600 사이의 값을 사용하세요. | timeout 옵션 값이 숫자가 아니거나 1~600 범위를 벗어난 경우 |
런타임 오류
guid 필드 값에 따라 _error 필드에 다음 오류 메시지가 할당될 수 있습니다.
| 오류 메시지 | 설명 |
|---|---|
| guid is null | 입력 레코드의 guid 필드 값이 null인 경우 |
| guid should be string | 입력 레코드의 guid 필드 값이 문자열이 아닌 경우 |
| guid should be non empty string | 입력 레코드의 guid 필드 값이 빈 문자열인 경우 |
| not connected | 센트리가 접속된 상태가 아닌 경우 |
| timeout | RPC 요청 타임아웃 시간을 초과한 경우 |
| disconnected | RPC 요청 처리 중에 연결이 단절된 경우 |
위에 정의된 오류 메시지 외에 센트리가 설치된 시스템 상태에 따라 다른 RPC 예외 메시지가 _error 필드에 할당될 수 있습니다.
설명
sentry-jstack 명령어는 입력 레코드의 guid 필드를 기반으로 원격 센트리에 전체 스레드 덤프를 요청하는 비동기 RPC 메시지를 전송합니다. 센트리로부터 응답을 수신하면 입력 레코드에 스레드 정보를 추가하여 출력합니다.
비동기 RPC 요청 대기열의 최대 길이는 기본값 100이며, 로그프레소 환경 변수 logpresso.core.sentry_rpc_parallel로 조정할 수 있습니다. 대기열이 가득 찬 상태에서 일부 센트리가 응답하거나 타임아웃되면 대기열에 빈 자리가 생기는 만큼 추가로 RPC 메시지를 전송합니다.
센트리의 RPC 응답 메시지를 수신하는 순서대로 결과를 출력하므로, 출력 레코드의 순서는 입력 레코드의 순서와 다를 수 있습니다.
클러스터 환경에서 모든 수집 노드의 결과를 한 번에 조회하려면 sonar-sentry-jstack 명령어를 사용하세요.
사용 예
-
모든 센트리의 스레드 덤프 조회
system-sentries | fields guid | sentry-jstack -
BLOCKED 상태의 스레드만 조회
system-sentries | fields guid | sentry-jstack | search state == "BLOCKED"
호환성
sentry-jstack 명령어는 소나 4.0 이전 버전부터 제공되었습니다.