sentry-logger-disconnect

로그프레소 센트리에게 RPC 요청을 전송하여 지정된 수집기의 로그를 엔터프라이즈 서버로 전송하지 않도록 연결을 해제합니다.

문법

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

설명

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

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

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

입력 필드

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

필드타입이름비고
guid문자열센트리 고유 식별자GUID 형식과 무관
name문자열수집기 식별자센트리 이름 공간 내 유일한 수집기 식별자

출력 필드

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

필드타입이름비고
_error문자열오류 내용오류 발생 시 출력됨

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

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

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

사용 예

  1. 접속되어 있는 모든 센트리에서 지정된 이름의 수집기를 일괄적으로 연결 해제합니다.

    sentry | sentry-loggers | search name == "wtmp_linux" | sentry-logger-disconnect