sonar-set-ip-address

입력 레코드에서 지정한 필드의 값을 내부 IP 자산 데이터베이스에 동기화합니다.

문법

sonar-set-ip-address fields=FIELDS [batchsize=INT] [company=GUID]
fields=FIELDS
동기화 대상 필드 목록. 하단 필드 명세 참조
필드이름타입길이설명
priority중요도32비트 정수 3 (상), 2 (중), 1 (하)
category_name장치 분류문자열255자이름 불일치 시 미분류 처리
hostname호스트명문자열255자컴퓨터 이름 혹은 호스트명
workgroup작업그룹문자열255자NT 도메인 혹은 워크그룹
emp_key담당자(정) 사번문자열255자사번 불일치 시 무시됨
emp_key2담당자(부) 사번문자열255자사번 불일치 시 무시됨
description비고문자열2000자
os_name운영체제문자열50자
os_ver운영체제 버전문자열20자
macMAC 주소문자열20자
location설치 위치문자열255자
installed설치 일시날짜
ext0확장 필드 #0문자열255자
ext1확장 필드 #1문자열255자
ext2확장 필드 #2문자열255자
ext3확장 필드 #3문자열255자
ext4확장 필드 #4문자열255자
ext5확장 필드 #5문자열255자
ext6확장 필드 #6문자열255자
ext7확장 필드 #7문자열255자
ext8확장 필드 #8문자열255자
ext9확장 필드 #9문자열255자
Tip
아래와 같이 소나 전역 설정으로 내부 IP 자산 필드를 사용자 정의할 수 있습니다.
logpresso> sonar.setGlobalOption ip_custom_fields "0=제조사,1=모델명"
batchsize=INT
지정한 레코드 수의 배치 단위로 커밋을 실행합니다. 유효한 값의 범위는 1~5000 입니다. 대량의 IP 주소 정보를 동기화해야 하는 경우에 사용합니다. 이 옵션을 사용하면 트랜잭션 수가 감소하여 수행 성능이 향상되지만 오류 발생 시 배치 단위로 동기화에 실패합니다.
company=COMPANY
회사 (테넌트) GUID 식별자. 이 옵션을 지정하지 않으면 현재 세션의 회사 식별자를 기본값으로 사용합니다. 단, 스트림 쿼리에 이 명령어를 사용하는 경우, 시스템 세션은 회사 정보를 포함하지 않으므로 이 옵션을 사용하여 동기화 대상 회사를 명시적으로 지정해야 합니다.

설명

입력 레코드의 ip 필드 값을 기준으로 기존 내부 IP 목록에 내부 IP 주소 객체가 존재하면 정보를 업데이트하고, 기존 객체가 존재하지 않으면 새로 생성합니다.

입력 레코드는 반드시 ip 필드에 유효한 IP 주소 값을 포함해야 합니다. ip 값은 문자열 타입이나 IP 주소 타입의 값이 모두 허용됩니다. ip 필드 값이 유효한 IP 주소가 아니면, 동기화에 실패하고 _error 필드에 invalid ip 오류가 출력됩니다. ip 필드 값이 null인 경우에는 _error 필드에 ip is null 오류가 출력됩니다.

fields 옵션에 동기화 대상 필드를 지정했으나 입력 레코드에 해당 필드가 존재하지 않는 경우에는 데이터베이스에 null 값이 설정됩니다. 반대로, 명시적으로 fields 옵션에 동기화 대상 필드가 지정되지 않으면, 입력 레코드에 동기화 대상 필드와 동일한 이름의 필드가 존재하더라도 해당 값이 동기화되지 않습니다.

출력 필드

이 명령어는 입력 레코드의 모든 필드를 그대로 출력하지만 오류가 발생하는 경우 _error 필드를 추가로 출력합니다.

필드타입설명
_error문자열오류 내용

사용 예

  1. 지니안 NAC 자산 정보를 동기화

    아래 예시는 지니안 NAC 앱의 확장 명령어 genian-nac-nodes를 사용합니다. 지니안 NAC의 전체 IP 자산 정보를 로그프레소 소나에 동기화 할 수 있습니다.

    genian-nac-nodes 
    | rename nt_domain as workgroup, first_seen as installed, platform as os_name, nic_vendor as ext0, type as category_name
    | eval priority = if(category_name != "PC", 2, 1)
    | sonar-set-ip-address batchsize=10 fields="priority, category_name, hostname, workgroup, emp_key, emp_key2, description, os_name, os_ver, mac, location, installed, ext0"