sentry-loggers

센트리의 로거 목록을 조회합니다.

문법

sentry-loggers [timeout=INT]
선택 매개변수
timeout=INT
초 단위 RPC 타임아웃(기본값: 30초)

설명

이 명령어는 센트리 식별자(guid)를 입력 레코드로 받아서 해당 센트리의 로거 목록을 요청하도록 센트리에게 비동기 RPC 메시지를 전송합니다.

로그프레소 환경 변수 logpresso.core.sentry_rpc_parallel은 비동기 RPC 요청 메시지 대기열의 길이를 지정하는데 사용됩니다. 이 환경변수의 기본값은 100이고, 이 환경 변수 값을 변경함으로써 비동기 RPC 요청 대기열의 길이를 조정할 수 있습니다.

RPC 요청 메시지 대기열은 선입선출 방식(first in, first out, 줄여서 FIFO) 방식으로 동작합니다. 예를 들어 로그프레소 서버가 메시지를 보낼 센트리의 개수가 150대라면, 서버는 먼저 100대의 센트리에게 RPC 메시지를 전송하고 RPC 응답을 기다립니다. 이 때 대기 시간이 timeout으로 지정된 시간(기본값은 30초)을 초과하면 해당 센트리로부터 오류가 발생한 것으로 간주합니다. 100대의 센트리 중에서 32대가 응답하거나 타임아웃되면 추가적으로 32대의 센트리에게 RPC 메시지를 전송합니다.

이 명령어는 센트리의 RPC 응답 메시지를 수신하는 순서대로 결과를 출력하기 때문에 출력 레코드의 순서는 입력 레코드의 순서와 다를 수 있습니다. 레코드의 순서에 의존하지 말고 출력 데이터 자체를 이용하십시오.

입력 필드

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

필드타입설명
guid문자열센트리 고유 식별자(자바의 GUID 형식과 무관)
출력 필드

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

필드타입설명
name문자열로거 식별자
description문자열로거 설명
factory_name문자열로거 유형 식별자(예: syslog, wtmp)
status문자열로거 상태(예: running, stopped)
interval32비트 정수수집 주기(단위: 밀리초)
cron_schedule문자열크론 형식 수집 일정
transformer문자열트랜스포머 식별자
stop_reason문자열로거 중지 사유
log_count64비트 정수수집 건수(버리기 전 수집된 전체 건수)
drop_count64비트 정수버린 건수
log_volume64비트 정수수집 용량(버리기 전 수집된 전체 용량. 단위: 바이트)
drop_volume64비트 정수버린 용량(단위: 바이트)
last_start_at날짜로거 활성화한 최근 시각
last_run_at날짜수집을 실행한 최근 시각
last_log_at날짜마지막으로 수집된 로그의 _time 필드 값
last_write_at날짜로그를 출력한 최근 시스템 시각(수집 유휴 탐지용)
start_time문자열수집 시작 시각(형식: HH:mm)
end_time문자열수집 종료 시각(형식: HH:mm)
failure문자열수집 중 기록된 로거 중지 사유

failure 필드의 로거 중지 사유는 다음과 같이 분류됩니다:

로거 중지 사유의미
USER_REQUEST사용자의 비활성화 요청에 따라 중지함
SYSTEM_REQUEST이중화 동작 등 시스템 요청에 따라 중지함
LOW_DISK디스크 용량 고갈로 인해 중지함
TRANSFORMER_DEPENDENCY로거가 의존하는 트랜스포머가 시작되지 않음
FACTORY_DEPENDENCY로거가 정의된 로거 팩토리가 시작되지 않음. 번들이 시작되지 않은 경우
STOP_EXCEPTION저장할 테이블이 존재하지 않거나 스토리지가 읽기 전용 모드에 진입한 경우
LOGGER_EXCEPTION수집 도중에 예상하지 못한 예외 발생
LOGGER_DEPENDENCY로거가 의존하는 다른 로거가 시작되지 않음

이 명령어는 오류가 발생하면 원본 레코드의 필드에 _error 필드를 추가하여 출력합니다. 발생할 수 있는 오류는 아래와 같습니다:

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

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

사용 예

모든 센트리의 현재 로거 목록 조회

sentry | fields guid | sentry-loggers