sonar-enable-logger-batch
입력 레코드로 전달된 guid 필드 값에 해당하는 수집기를 일괄 활성화합니다. run 옵션을 지정하지 않으면 실제로 활성화하지 않고 대상 수집기 존재 여부만 미리 확인할 수 있습니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 가공 쿼리 |
| 필요 권한 | 관리자 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 미지원 |
| 분산 실행 | 수집 노드에서 실행 (mapper) |
문법
... | sonar-enable-logger-batch [run=BOOL]
옵션
run=BOOLt로 지정한 경우에만 실제로 수집기 활성화 API를 호출합니다 (기본값:f). 지정하지 않거나f이면 대상 수집기 존재 여부만 확인하고 실제로 활성화하지 않는 드라이런으로 동작합니다.
입력 필드
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
| guid | 문자열 | 필수 | 활성화할 수집기의 GUID |
출력 필드
입력 레코드의 모든 필드를 그대로 전달하며, 처리 결과에 따라 다음 필드가 추가됩니다.
| 필드 | 타입 | 설명 |
|---|---|---|
| status | 문자열 | 처리 결과. success 또는 failure. 성공 시에는 run=t일 때만 추가됨 |
| _error | 문자열 | 오류 메시지. 오류가 발생한 경우에만 추가됨 |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 300143 | 수집기를 활성화할 권한이 없습니다 | 관리자 권한이 없는 계정으로 실행한 경우 |
런타임 오류
| 오류 코드 | 메시지 | 설명 | 후처리 동작 |
|---|---|---|---|
| - | Invalid UUID string: [value] | guid 필드 값이 유효한 GUID 형식이 아닌 경우 | 쿼리 실행을 중단함 |
설명
sonar-enable-logger-batch 명령어는 입력 레코드마다 guid 필드 값으로 대상 수집기를 조회한 후 처리합니다.
guid필드가 없으면_error필드에guid field is required메시지를 추가하여 전달합니다. 이때run=t이면status필드도failure로 설정하고,run을 지정하지 않았으면status필드는 추가하지 않습니다.guid에 해당하는 수집기가 존재하지 않으면run옵션 값과 무관하게_error와status=failure를 함께 설정합니다.- 대상 수집기가 존재하고
run=t이면 실제로 활성화 API를 호출합니다. 호출에 실패하면_error에 실패 원인을 기록하고status=failure로 설정하며, 성공하면status=success로 설정합니다. - 대상 수집기가 존재하고
run=t가 아니면(기본값) API를 호출하지 않고 입력 레코드를 변경 없이 그대로 전달합니다(드라이런).
guid 필드 값이 GUID 형식이 아니면 개별 레코드 오류로 처리되지 않고 쿼리 실행 자체가 중단되므로, 사전에 값 형식을 검증하는 것이 좋습니다.
사용 예
-
활성화 대상을 미리 확인 (드라이런)
json "[{'guid': '550e8400-e29b-41d4-a716-446655440000'}]" | sonar-enable-logger-batch실제로 활성화하지 않고 대상 수집기 존재 여부만 확인합니다.
-
실제로 수집기 활성화
json "[{'guid': '550e8400-e29b-41d4-a716-446655440000'}]" | sonar-enable-logger-batch run=t -
비활성화된 수집기를 조회하여 일괄 활성화
sonar-loggers | search enabled == false | sonar-enable-logger-batch run=t | fields guid, name, status, _error현재 비활성화된 수집기를 모두 조회한 뒤 일괄 활성화하고 처리 결과를 확인합니다.
변경 이력
sonar-enable-logger-batch 명령어는 소나 4.0.2609.0 버전부터 사용 가능합니다.
이 명령어는 실험실(Lab) 앱이 제공하던 것을 소나 코어에 내장한 것입니다(SNR#3463). 내장되지 않은 버전에서는 실험실 앱을 설치해 사용할 수 있습니다. 실험실 앱에서는 sonar-enable-loggers 이름으로 제공됩니다.