로그프레소 그래프

다운로드 110
업데이트 2026. 9. 29.

쿼리 명령어

쿼리 명령어

그래프를 대량으로 적재·조회하는 쿼리 명령어입니다. 방화벽·NAC·스캐너 로그를 조회한 결과를 파이프라인으로 넘겨 그래프를 채우는 것이 기본 사용법입니다.

Note
모든 set/remove 배치 명령어는 기본적으로 dry-run으로 동작합니다. 각 행의 _status 필드에
수행 예정 작업이, 문제가 있으면 _error에 원인이 표시됩니다. 실제 반영하려면 run=t 옵션을
붙이세요.

범용 배치 명령어

등록된 모든 노드/엣지 타입에 사용합니다. 스키마에 정의된 속성과 같은 이름의 필드가 입력 행에 있으면 함께 저장됩니다.

명령어입력 필드용도
sonar-set-node-batchtype, value, display_name, source + 타입별 속성노드 UPSERT
sonar-set-edge-batchsrc_type, src_value, dst_type, dst_value, rel_type, source + 엣지 속성엣지 UPSERT (없는 노드는 함께 생성)
sonar-set-graph-batchsonar-set-edge-batch와 동일동일 동작의 별칭
sonar-remove-node-batchtype, value노드 삭제 (속성·연결 엣지 함께 삭제)
sonar-remove-edge-batchsrc_type, src_value, dst_type, dst_value, rel_type엣지 삭제
json "[{\"type\":\"malware\", \"value\":\"Emotet\", \"malware_types\":[\"trojan\",\"bot\"], \"is_family\":\"true\"}]"
| sonar-set-node-batch run=t
json "[{\"src_type\":\"campaign\", \"src_value\":\"Op-X\", \"dst_type\":\"threat-actor\", \"dst_value\":\"APT99\", \"rel_type\":\"attributed-to\", \"confidence\":80}]"
| sonar-set-edge-batch run=t

검증 규칙

배치 명령어는 스키마 기준으로 입력을 검증하며, 위반 행은 오류로 처리됩니다 (dry-run에서는 _status=error와 _error로 표시).

  • 미등록 타입 — unknown node type, unknown src_type, unknown rel_type
  • 정의되지 않은 연결 조합 — 관계마다 허용되는 출발/도착 타입 조합이 정해져 있습니다. 예: serves 관계에 user → cve를 넣으면 unsupported combination 오류.
  • 값 형식 불일치 — 형식이 정의된 타입은 값이 검증됩니다. 예: network-service 값이 ip:port/tcp 형식이 아니면 invalid value format 오류.

부분 업데이트

  • 노드는 (type, value) 기준으로 존재하면 갱신됩니다. 제공하지 않은 속성은 변경되지 않으므로, 바꿀 필드만 넣으면 됩니다.
  • 엣지는 (출발, 도착, 관계) 기준으로 존재하면 last_seen만 갱신됩니다.

자산 그래프 전용 명령어

자산 토폴로지 구축에 특화된 명령어로, 한 행으로 여러 노드·엣지를 한꺼번에 만듭니다.

명령어필드생성 결과
sonar-set-ipv4-node-batchip(필수), mac, hostname, user, zoneIP 노드 + MAC/호스트/사용자/네트워크 영역 노드와 관계
sonar-set-zone-node-batchname(필수), display_name, cidr네트워크 영역 노드
sonar-set-domain-node-batchdomain(필수), ip도메인 노드 (+IP 연결)
sonar-set-cve-node-batchip, cve_id(필수), cvss3_score, description, published, statusCVE 노드 + 취약점 보유 엣지
sonar-set-cpe-node-batchcve_id, cpe(필수)CPE 노드 + 영향 엣지

각 명령어에는 대응하는 sonar-remove-*-node-batch가 있습니다.

json "[{\"ip\":\"10.0.1.1\", \"mac\":\"AA:BB:CC:DD:EE:FF\", \"hostname\":\"web01\", \"zone\":\"dmz\"}]"
| sonar-set-ipv4-node-batch run=t

조회 명령어

명령어용도주요 옵션
sonar-graph-nodes노드 조회type, guid, value, min-risk, tag
sonar-graph-edges엣지 조회guid, type, value, rel
sonar-graph-attrs노드 속성 조회guid, type, value, attr
sonar-graph-node-defs등록된 노드 타입 정의(이름·속성·값 형식)locale
sonar-graph-edge-defs등록된 관계 타입 정의(이름·속성·허용 조합)locale
sonar-graph-builders등록된 그래프 빌더 목록
sonar-graph-running-builders실행 중인 빌더
sonar-graph-node-defs locale=ko

빌더

앱은 30분 주기의 내장 빌더로 임직원·부서 명부를 그래프에 자동 동기화합니다 (임직원 노드, 부서 노드, 소속·부서장 엣지). 빌더 상태는 sonar-graph-builders로 확인합니다. 다른 앱도 자체 빌더를 등록할 수 있습니다 — 앱 확장 참고.