sentry-routing-table
원격 센트리에서 라우팅 테이블을 조회합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 가공 쿼리 |
| 필요 권한 | 관리자 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 지원 |
| 분산 실행 | 미지원 |
문법
옵션
timeout=INT- 초 단위 RPC 타임아웃. 1 이상 600 이하의 값을 지정할 수 있습니다. (기본값:
30)
입력 필드
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
| guid | 문자열 | 필수 | 센트리 고유 식별자 |
출력 필드
| 필드 | 타입 | 설명 |
|---|---|---|
| guid | 문자열 | 센트리 고유 식별자 |
| type | 문자열 | 경로 유형. 운영체제별 값은 아래 표 참고 |
| protocol | 문자열 | 경로를 등록한 라우팅 프로토콜. 운영체제별 값은 아래 표 참고 |
| destination | IP 주소 | 목적지 네트워크 주소 |
| mask | IP 주소 | 서브넷 마스크 |
| forward | IP 주소 | 다음 홉(게이트웨이) 주소 |
| metric | 32비트 정수 | 라우팅 메트릭 |
| iface | 문자열 | 네트워크 인터페이스 이름. 리눅스 센트리만 출력 |
| _error | 문자열 | 오류 발생 시 원본 레코드에 추가되는 오류 메시지 |
type과 protocol 필드의 값은 센트리가 설치된 운영체제에 따라 다음과 같이 다릅니다.
| 운영체제 | type | protocol |
|---|---|---|
| 리눅스 | 게이트웨이를 거치는 경로(route -een 명령 출력의 Flags 열 값에 G가 있는 경로)는 Indirect, 그 밖의 경로는 Direct | null |
| 윈도우 | Direct, Indirect, Invalid, Other 중 하나 | Other, Local, NetMgmt, ICMP, EGP, GGP, Hello, RIP, IS_IS, ES_IS, IGRP, BBN, OSPF, BGP, Autostatic, Static, StaticNonDOD 중 하나 |
리눅스 센트리는 route -een 명령 출력의 Gateway 열 값을 forward 필드에, Metric 열 값을 metric 필드에 할당합니다. 윈도우 센트리는 경로의 다음 홉 주소를 forward 필드에, 첫 번째 메트릭(Metric1) 값을 metric 필드에 할당합니다. 두 운영체제 모두 IPv4 경로만 조회합니다.
리눅스 센트리는 route 명령으로 라우팅 테이블을 읽습니다. 센트리 호스트에 이 명령을 제공하는 net-tools 패키지가 없으면 조회에 실패하고 _error 필드에 오류 메시지가 할당됩니다. 리눅스 센트리 호스트에 필요한 패키지는 필수 패키지 설치를 참고하세요.
AIX·HP-UX·Solaris 센트리는 라우팅 테이블 조회를 지원하지 않으며, 이 센트리에 요청하면 _error 필드에 sentry method not found: getRoutingTable 오류 메시지가 할당됩니다.
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 23100 | 센트리 RPC 호출 권한이 없습니다. | 관리자 권한이 없는 사용자가 명령어를 실행한 경우 |
| 23101 | 유효하지 않은 센트리 RPC 타임아웃 옵션 값입니다. 1부터 600 사이의 값을 사용하세요. | timeout 옵션 값이 정수가 아니거나 1~600 범위를 벗어난 경우 |
런타임 오류
_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 예외 메시지가 반환될 수 있습니다.
설명
sentry-routing-table 명령어는 입력 레코드의 guid 필드를 읽어 해당 센트리에 비동기 RPC 메시지를 전송하고, 라우팅 테이블을 조회합니다. destination, mask, forward 필드는 IP 주소 타입으로 변환하여 반환합니다.
이 명령어는 센트리의 RPC 응답 메시지를 수신하는 순서대로 결과를 반환하기 때문에 출력 레코드의 순서는 입력 레코드의 순서와 다를 수 있습니다.
비동기 RPC 요청 대기열의 최대 길이는 기본값 100이며, 로그프레소 환경 변수 logpresso.core.sentry_rpc_parallel로 조정할 수 있습니다.
클러스터 환경에서 모든 수집 노드의 결과를 한 번에 조회하려면 sonar-sentry-routing-table 명령어를 사용하세요.
사용 예
-
모든 센트리의 라우팅 테이블 조회
sentry | fields guid | sentry-routing-table -
타임아웃을 60초로 설정하여 조회
sentry | fields guid | sentry-routing-table timeout=60
변경 이력
sentry-routing-table 명령어는 소나 4.0 이전 버전부터 제공되었습니다.