sentry-processes

RPC 요청을 전송하여 센트리의 현재 프로세스 목록을 조회합니다.

문법

sentry-processes [timeout=INT]
timeout=INT
초 단위 RPC 타임아웃 (기본값 30초)

설명

이 명령어는 동시에 100대의 센트리를 대상으로 비동기적 RPC 요청 메시지를 전송하고 대기합니다. 만약 센트리 100대가 모두 응답이 지연되면, 이 명령어는 하나라도 RPC 응답이 수신될 때까지 처리를 중단하고 각 RPC 요청별 타임아웃이 경과할 때까지 대기합니다.

RPC 응답 메시지가 수신되는대로 결과를 출력하기 때문에, 입력된 guid 순서와 출력의 순서는 다를 수 있습니다. 센트리가 설치된 호스트의 부하 상태나 네트워크 상태에 따라 응답 순서는 매번 달라질 수 있습니다. 따라서 사용자는 레코드 순서에 의존하지 말고 출력 데이터 자체를 이용해야 합니다.

Tip
비동기 RPC 요청 대기열의 길이는 logpresso.core.sentry_rpc_parallel 부팅 스위치로 조정할 수 있습니다.

입력 필드

이 명령어는 입력 레코드의 guid, name 필드 값이 필요합니다.

필드타입이름비고
guid문자열센트리 고유 식별자GUID 형식과 무관

출력 필드

이 명령어는 원본 레코드의 필드에 아래의 필드를 추가하여 출력합니다.

필드타입이름비고
pid32비트 정수프로세스 ID
name문자열프로세스 이름
cpu_usage32비트 정수CPU 사용율0-100 범위
working_set64비트 실수물리 메모리 사용량바이트 단위
_error문자열오류 내용오류 발생 시에는 이 필드만 출력됨

오류가 발생하면 _error 필드에 오류 내용을 출력합니다. 발생할 수 있는 오류는 아래와 같습니다:

_error 내용의미
guid is null입력 레코드의 guid 필드 값이 null
guid should be string입력 레코드의 guid 필드 값이 문자열이 아님
guid should be non empty string입력 레코드의 guid 필드 값이 빈 문자열임
timeoutRPC 요청 타임아웃 시간을 초과함
disconnectedRPC 요청 처리 중에 연결이 단절됨
not connected센트리가 접속된 상태가 아님

위에 정의된 _error 문자열 이외에 센트리가 설치된 시스템 상태에 따라 다른 RPC 예외 메시지가 출력될 수 있습니다.

사용 예

  1. 모든 센트리의 프로세스 목록 조회

    sentry | fields guid | sentry-processes