sentry-logger-set-schedule
원격 센트리 수집기의 크론 형식 수집 일정을 변경합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 가공 쿼리 |
| 필요 권한 | 관리자 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 지원 |
| 분산 실행 | 미지원 |
문법
옵션
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: EXPR | cron_schedule 필드 값이 유효하지 않은 크론 형식인 경우 |
| not connected | 지정된 센트리가 접속 상태가 아닌 경우 |
| timeout | RPC 요청이 타임아웃 시간을 초과한 경우 |
| disconnected | RPC 요청 처리 중에 연결이 단절된 경우 |
위에 정의된 _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 응답을 수신하는 순서대로 결과를 출력하므로, 출력 레코드의 순서는 입력 레코드의 순서와 다를 수 있습니다.
사용 예
-
모든 센트리의 특정 수집기를 매시 정각에 실행하도록 설정
system-sentries | sentry-loggers | search name == "wtmp_linux" | eval cron_schedule = "0 * * * *" | sentry-logger-set-schedule -
수집 일정 삭제
system-sentries | sentry-loggers | search name == "wtmp_linux" | eval cron_schedule = null | sentry-logger-set-schedule -
타임아웃을 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 이전 버전부터 제공되었습니다.