sonar-enable-logger-batch

입력 레코드로 전달된 guid 필드 값에 해당하는 수집기를 일괄 활성화합니다. run 옵션을 지정하지 않으면 실제로 활성화하지 않고 대상 수집기 존재 여부만 미리 확인할 수 있습니다.

명령어 속성

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

문법

... | sonar-enable-logger-batch [run=BOOL]

옵션

run=BOOL
t로 지정한 경우에만 실제로 수집기 활성화 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 옵션 값과 무관하게 _errorstatus=failure를 함께 설정합니다.
  • 대상 수집기가 존재하고 run=t이면 실제로 활성화 API를 호출합니다. 호출에 실패하면 _error에 실패 원인을 기록하고 status=failure로 설정하며, 성공하면 status=success로 설정합니다.
  • 대상 수집기가 존재하고 run=t가 아니면(기본값) API를 호출하지 않고 입력 레코드를 변경 없이 그대로 전달합니다(드라이런).

guid 필드 값이 GUID 형식이 아니면 개별 레코드 오류로 처리되지 않고 쿼리 실행 자체가 중단되므로, 사전에 값 형식을 검증하는 것이 좋습니다.

사용 예

  1. 활성화 대상을 미리 확인 (드라이런)

    json "[{'guid': '550e8400-e29b-41d4-a716-446655440000'}]"
    | sonar-enable-logger-batch
    

    실제로 활성화하지 않고 대상 수집기 존재 여부만 확인합니다.

  2. 실제로 수집기 활성화

    json "[{'guid': '550e8400-e29b-41d4-a716-446655440000'}]"
    | sonar-enable-logger-batch run=t
    
  3. 비활성화된 수집기를 조회하여 일괄 활성화

    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 이름으로 제공됩니다.