window.median
다음에서 지원:
window.median(numeric_values, should_ignore_zero_values)
설명
입력 값의 중앙값을 반환합니다. 중앙값이 2개인 경우 1개만 반환 값으로 비결정적으로 선택됩니다.
매개변수 데이터 유형
INT|FLOAT
, BOOL
반환 유형
FLOAT
코드 샘플
예 1
이 예에서는 입력 값이 0이 아닌 경우 중앙값을 반환합니다.
rule median_file_size {
meta:
events:
$e.metadata.event_type = "FILE_COPY"
$userid = $e.principal.user.userid
match:
$userid over 1h
outcome:
$median_file_size = window.median($e.principal.file.size) // returns 2 if the file sizes in the match window are [1, 2, 3]
condition:
$e
}
예 2
이 예에서는 무시해서는 안 되는 0 값이 입력에 일부 포함된 경우 입력의 중앙값을 반환합니다.
rule median_file_size {
meta:
events:
$e.metadata.event_type = "FILE_COPY"
$userid = $e.principal.user.userid
match:
$userid over 1h
outcome:
$median_file_size = window.median($e.principal.file.size) // returns 1 if the file sizes in the match window are [0,0, 1, 2, 3]
condition:
$e
}
예시 3
이 예에서는 무시해야 하는 0 값이 입력에 일부 포함된 경우 입력의 중앙값을 반환합니다.
rule median_file_size {
meta:
events:
$e.metadata.event_type = "FILE_COPY"
$userid = $e.principal.user.userid
match:
$userid over 1h
outcome:
$median_file_size = window.median($e.principal.file.size, true) // returns 2 if the file sizes in the match window are [0,0, 1, 2, 3]
condition:
$e
}
예 4
이 예에서는 무시해야 하는 0 값이 입력에 모두 포함된 경우 입력의 중앙값을 반환합니다.
rule median_file_size {
meta:
events:
$e.metadata.event_type = "FILE_COPY"
$userid = $e.principal.user.userid
match:
$userid over 1h
outcome:
$median_file_size = window.median($e.principal.file.size) // returns 0 if the file sizes in the match window are [0,0]
condition:
$e
}
예시 5
이 예에서는 중앙값이 여러 개 있는 경우 하나의 중앙값만 반환된다는 것을 보여줍니다.
rule median_file_size {
meta:
events:
$e.metadata.event_type = "FILE_COPY"
$userid = $e.principal.user.userid
match:
$userid over 1h
outcome:
$median_file_size = window.median($e.principal.file.size) // returns 1 if the file sizes in the match window are [1, 2, 3, 4]
condition:
$e
}