sentry-routing-table

RPC 요청을 전송하여 센트리의 현재 라우팅 테이블 엔트리 목록을 조회합니다.

문법

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

설명

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

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

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

입력 필드

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

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

출력 필드

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

필드타입이름비고
guid문자열센트리 GUID
type문자열엔트리 유형예: Direct, Indirect
protocol문자열프로토콜예: Local, NetMgmt
destinationIP 주소목적지 IP 주소
maskIP 주소넷마스크
forwardIP 주소게이트웨이 IP 주소
metric32비트 정수메트릭경로 비용
_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-routing-table