matchbehavior
행위 프로파일에 설정된 키 필드를 기준으로 입력 레코드를 매칭하고, 매칭된 행위 프로파일 레코드의 값 필드를 출력 레코드에 추가합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 가공 쿼리 |
| 필요 권한 | 없음 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 지원 |
| 분산 실행 | 수집 노드에서 실행 (mapper) |
문법
옵션
guid=STR- 행위 프로파일 GUID (
name과 함께 사용할 수 없음).guid또는name옵션 중 하나를 반드시 지정해야 합니다. name=STR- 행위 프로파일 이름 (
guid와 함께 사용할 수 없음).guid또는name옵션 중 하나를 반드시 지정해야 합니다. invert=BOOL- 매칭 결과를 반전합니다.
t로 지정하면 행위 프로파일에 포함되지 않는 레코드를 출력합니다. (기본값:f) verify=BOOL- 행위 프로파일 객체 검증 여부.
f로 지정하면 파싱 시점에 행위 프로파일 존재 여부를 검증하지 않습니다. (기본값:t)
출력 필드
매칭 성공 시 (invert=f):
| 필드 | 타입 | 설명 |
|---|---|---|
behavior_guid | 문자열 | 매칭된 행위 프로파일 GUID |
behavior_invert | 불리언 | 반전 여부 |
| 행위 프로파일 값 필드 | - | 행위 프로파일에서 매칭된 레코드의 모든 값 필드가 출력 레코드에 추가됩니다. |
매칭 실패 시 (invert=t):
| 필드 | 타입 | 설명 |
|---|---|---|
behavior_guid | 문자열 | 행위 프로파일 GUID |
behavior_invert | 불리언 | 반전 여부 |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 300030 | matchbehavior 명령어에 guid 옵션을 지정하세요. | 5.0 계열(5.0.2605.2까지)에서 guid 옵션을 지정하지 않은 경우. 4.0 계열은 4.0.2609.0부터 300043으로 대체되었습니다 |
| 300031 | matchbehavior 명령어의 guid 옵션 값은 GUID 형식이어야 합니다. | guid 옵션 값이 유효한 GUID 형식이 아닌 경우 |
| 300032 | 지정된 행위 프로파일이 존재하지 않습니다. | 지정된 GUID에 해당하는 행위 프로파일이 없는 경우 (verify=t인 경우에만 검증) |
| 300033 | 행위 프로파일을 불러오는데 실패했습니다. | 행위 프로파일 데이터를 읽는 중 오류가 발생한 경우 |
| 300043 | matchbehavior 명령어에 guid 또는 name 옵션을 지정하세요. | guid와 name 옵션을 모두 지정하지 않은 경우 |
| 300044 | name에 해당하는 행위 프로파일이 존재하지 않습니다. | name 옵션에 지정한 이름의 행위 프로파일이 존재하지 않는 경우 |
| 300045 | 동일한 이름의 행위 프로파일이 여러 개 존재합니다. | name 옵션에 지정한 이름의 행위 프로파일이 여러 개 존재하는 경우 |
| 300047 | matchbehavior 명령어에는 guid 또는 name 옵션 중 하나만 지정하세요. | guid와 name 옵션을 동시에 지정한 경우 |
런타임 오류
해당 사항 없음
설명
matchbehavior 명령어는 행위 프로파일에 정의된 키 필드 값을 기준으로 입력 레코드와 행위 프로파일 데이터를 비교합니다. 입력 레코드의 키 필드 값이 행위 프로파일에 존재하면, 행위 프로파일에서 매칭된 레코드의 모든 값 필드를 입력 레코드에 병합하여 출력합니다.
guid 또는 name 옵션으로 매칭에 사용할 행위 프로파일을 지정합니다. name 옵션을 지정하면 해당 이름의 행위 프로파일을 조회하여 GUID를 확인합니다. 두 옵션을 동시에 지정하거나 모두 생략하면 오류가 발생하며, name으로 지정한 이름이 존재하지 않거나 여러 프로파일에서 중복되는 경우에도 오류가 발생합니다.
invert=t를 지정하면 행위 프로파일에 포함되지 않는 레코드만 출력합니다. 이 경우 행위 프로파일의 값 필드는 추가되지 않습니다.
verify=f를 지정하면 파싱 시점에 행위 프로파일 존재 여부를 검증하지 않습니다. 실행 시점에 행위 프로파일을 불러오므로, 프로파일이 생성 중인 경우 등에 활용할 수 있습니다.
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
행위 프로파일로 웹 로그 레코드 매칭
table limit=1000 WEB_APACHE_SAMPLE | matchbehavior guid=550e8400-e29b-41d4-a716-446655440000웹 서버 접근 로그 레코드를 행위 프로파일 키 필드와 대조하여 매칭된 레코드에 프로파일의 값 필드를 추가합니다.
-
행위 프로파일에 포함되지 않는 레코드 필터링
table limit=1000 WEB_APACHE_SAMPLE | matchbehavior guid=550e8400-e29b-41d4-a716-446655440000 invert=t행위 프로파일에 포함되지 않는 레코드만 출력합니다.
-
검증을 생략하고 매칭
table limit=1000 WEB_APACHE_SAMPLE | matchbehavior guid=550e8400-e29b-41d4-a716-446655440000 verify=f행위 프로파일 존재 여부 검증을 생략하고 매칭합니다. 프로파일이 빌드 중인 경우 등에 사용할 수 있습니다.
-
이름으로 행위 프로파일 지정
table limit=1000 WEB_APACHE_SAMPLE | matchbehavior name=web_attacker_profileGUID 대신 이름으로 행위 프로파일을 지정하여 매칭합니다.
변경 이력
| 대상 | 도입 릴리스 |
|---|---|
matchbehavior 명령어 | 소나 4.0 이전 버전 |
name 옵션 | 4.0.2609.0 |