sonar-set-ip-address

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

문법

sonar-set-ip-address fields=FIELDS [batchsize=INT] [company=GUID]
필수 매개변수
fields=FIELDS
동기화할 대상 필드 목록. 쉼표와 공백문자(',')를 구분자로 사용합니다. 하단 입력 필드 참조.
선택 매개변수
batchsize=INT
지정한 레코드 수의 배치 단위로 커밋을 실행합니다. 유효한 값의 범위는 1~5000 입니다. 대량의 IP 주소 정보를 동기화해야 하는 경우에 사용합니다. 이 옵션을 사용하면 트랜잭션 수가 감소하여 수행 성능이 향상되지만 오류 발생 시 배치 단위로 동기화에 실패합니다.
company=GUID
회사 (테넌트) GUID 식별자(기본값: 명령을 실행하는 사용자 계정이 소속된 회사의 GUID).
Note
시스템 계정은 어느 회사에도 소속되어 있지 않습니다. 시스템 계정 권한으로 실행할 쿼리문은 반드시 이 옵션을 사용하여 동기화 대상 회사를 명시적으로 지정해야 합니다.

설명

이 명령어는 입력 레코드의 ip 필드와 fields 옵션으로 지정한 필드 값을 기준으로 기존 내부 IP 주소 목록에 IP 주소 객체가 조회되면 입력 레코드 정보를 업데이트하고, IP 주소로 객체가 조회되지 않으면 새로 생성합니다.

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

fields 옵션에 동기화 대상 필드를 지정했으나 입력 레코드에 해당 필드가 존재하지 않으면 해당 필드의 값은 null입니다. 반대로, 명시적으로 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자
  • category_name: 장치 분류명이 내부 IP 목록과 일치하지 않으면 '미분류'로 처리합니다.
  • emp_key, emp_key2: 필드의 값이 소나의 임직원 테이블에서 조회되지 않으면 입력으로 전달받은 사번을 무시합니다.
Tip
로그프레소 셸에서 다음과 같이 소나 전역 설정으로 내부 IP 자산 필드를 사용자 정의할 수 있습니다.
logpresso> sonar.setGlobalOption ip_custom_fields "0=제조사,1=모델명"
출력 필드

이 명령어는 입력 레코드의 모든 필드를 그대로 출력하지만 오류가 발생하는 경우 _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"