sentry-logger-set-schedule

원격 센트리 수집기의 크론 형식 수집 일정을 변경합니다.

명령어 속성

항목설명
명령어 유형가공 쿼리
필요 권한관리자
라이선스 사용량해당 없음
병렬 실행지원
분산 실행미지원

문법

sentry-logger-set-schedule [timeout=INT]

옵션

timeout=INT
초 단위 RPC 타임아웃. 1부터 600 사이의 값을 지정할 수 있습니다. (기본값: 30)

입력 필드

필드타입필수 여부설명
guid문자열필수센트리 고유 식별자
name문자열필수수집기 이름
cron_schedule문자열선택크론 형식의 수집 일정. null인 경우 기존 일정을 삭제

cron_schedule 필드는 유닉스 계열 운영 체제의 크론 설정과 동일한 형식을 사용합니다. 분, 시, 일, 월, 요일 순서로 5개 필드를 지정합니다.

출력 필드

필드타입설명
_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 필드 값이 빈 문자열인 경우
cron_schedule should be string입력 레코드의 cron_schedule 필드 값이 문자열이 아닌 경우
wrong cron expression format: EXPRcron_schedule 필드 값이 유효하지 않은 크론 형식인 경우
not connected지정된 센트리가 접속 상태가 아닌 경우
timeoutRPC 요청이 타임아웃 시간을 초과한 경우
disconnectedRPC 요청 처리 중에 연결이 단절된 경우

위에 정의된 _error 값 이외에 센트리가 설치된 시스템 상태에 따라 다른 RPC 오류 메시지가 반환될 수 있습니다.

오류 코드

파싱 오류
오류 코드메시지설명
23100센트리 RPC 호출 권한이 없습니다.관리자 권한이 없는 경우
23101유효하지 않은 센트리 RPC 타임아웃 옵션 값입니다. 1부터 600 사이의 값을 사용하세요.timeout 값이 1~600 범위 밖이거나 숫자가 아닌 경우
런타임 오류

해당 사항 없음

설명

sentry-logger-set-schedule 명령어는 입력 레코드의 guid 필드로 센트리를 식별하고, name 필드로 수집기를 식별하여, cron_schedule 필드에 지정된 크론 형식 일정으로 수집 일정을 변경합니다. cron_schedule 필드가 null이면 기존 수집 일정을 삭제합니다. 센트리에 비동기 RPC 메시지를 전송하여 수집 일정을 설정합니다.

비동기 RPC 요청 대기열의 길이는 기본값 100이며, 로그프레소 환경 변수 logpresso.core.sentry_rpc_parallel로 조정할 수 있습니다. 대기열이 가득 차면 기존 요청이 완료되거나 타임아웃될 때까지 새 요청을 대기합니다.

이 명령어는 센트리의 RPC 응답을 수신하는 순서대로 결과를 출력하므로, 출력 레코드의 순서는 입력 레코드의 순서와 다를 수 있습니다.

사용 예

  1. 모든 센트리의 특정 수집기를 매시 정각에 실행하도록 설정

    system-sentries
    | sentry-loggers
    | search name == "wtmp_linux"
    | eval cron_schedule = "0 * * * *"
    | sentry-logger-set-schedule
    
  2. 수집 일정 삭제

    system-sentries
    | sentry-loggers
    | search name == "wtmp_linux"
    | eval cron_schedule = null
    | sentry-logger-set-schedule
    
  3. 타임아웃을 120초로 지정하여 수집 일정 변경

    system-sentries
    | sentry-loggers
    | search name == "syslog_linux"
    | eval cron_schedule = "*/5 * * * *"
    | sentry-logger-set-schedule timeout=120
    

호환성

sentry-logger-set-schedule 명령어는 소나 4.0 이전 버전부터 제공되었습니다.