규칙 런타임 오류 문제 해결하기

다음에서 지원:

런타임 오류는 규칙 실행 중에 발생할 수 있으며 규칙이 성공적으로 실행되지 않도록 방지합니다. 이 문서는 몇 가지 일반적인 런타임 문제를 해결하는 데 도움이 됩니다.

  • 배포 전에 규칙을 테스트하여 런타임 오류를 방지할 수 있습니다. 규칙 편집기에서 테스트 실행을 클릭합니다. 오류가 감지되면 오류 링크를 따라 세부정보를 확인합니다.

  • 규칙 실행 중에 오류가 발생하면 감지 페이지의 오류 링크를 따라 세부정보를 확인하세요.

쿼리 구문 및 논리 오류

이러한 오류는 쿼리 구조가 잘못되었거나, 너무 복잡하거나, 호환되지 않는 데이터 유형을 사용하는 경우에 발생합니다.

오류 메시지 근본 원인 해결 방법
Too many `OR` and `AND` operations 쿼리에 스택 공간 한도를 초과하는 깊이 중첩된 표현식이나 로직이 포함되어 있습니다.

규칙의 조건을 간소화합니다.

복잡한 논리를 더 작은 부분으로 나눕니다.

Query is too long 쿼리를 처리하는 데 필요한 스택 공간이 너무 많습니다. 로직을 여러 규칙으로 분할합니다.
Accessing a new field that did not exist for this time range 규칙이 스키마에 최근에 추가된 필드를 참조하지만 해당 필드가 존재하지 않는 시간 범위에서 규칙이 실행되고 있습니다.

필드가 표시된 후 시작하도록 기간을 조정합니다.

필드가 null이거나 누락된 경우를 처리하도록 규칙을 수정합니다.

Invalid subnet CIDR 일부 함수에서 파싱할 수 없는 클래스 없는 도메인 간 라우팅 (CIDR) 범위가 발견됨 규칙의 CIDR 범위 형식을 확인합니다.
Invalid IP address 일부 함수에서 잘못된 형식의 IP 주소가 발견되었습니다. 필드 값에 유효한 IP 주소 형식이 포함되어 있는지 확인합니다.
Map access for reading label does not support duplicate map keys 일부 함수가 중복 키가 있는 맵과 유사한 구조 (예: 추가 필드)의 요소에 액세스하려고 했습니다 (작업에서 허용되지 않음).

데이터 소스에서 중복 키를 조사합니다.

이 데이터 특성을 처리하도록 규칙 로직을 조정합니다.

Invalid regular expression re.regex()와 같은 함수에 사용된 정규 표현식이 잘못되었습니다.

정규 표현식 구문을 수정합니다.

Invalid re.replace() 괄호로 묶인 하위 표현식과 대체 문자열의 참조 간 불일치로 인해 re.regex()이 잘못 사용되었습니다. re.regex()의 재작성 스키마가 정규 표현식의 괄호로 묶인 하위 표현식과 일치해야 합니다.
Integer overflow in sum() aggregation 값의 합계가 표준 정수의 최대 한도를 초과합니다. 합산하기 전에 필드를 부동 소수점 유형으로 변환합니다 (예: sum(0.0 + $e.field) 사용).
Cannot complete [arithmetic/mod] operation between unsigned and signed integer 서로 다른 정수 유형 간에 산술 연산 (+, -, *, /, MOD)을 시도하여 발생합니다. cast.as_int() 또는 cast.as_uint()를 사용하여 한 필드를 다른 필드와 일치하도록 변환합니다.

리소스 한도 및 성능 오류

이 오류는 시스템에서 처리하기에 쿼리가 너무 무거움을 나타냅니다.

오류 메시지 근본 원인 해결 방법
Request was throttled, please try again later 규칙에 할당된 것보다 더 많은 메모리나 처리 능력이 필요합니다 (복잡한 조인, 대규모 집계 또는 불충분한 필터링으로 인해 발생하는 경우가 많음). 이벤트 섹션에 더 구체적인 필터를 추가합니다.
Not enough memory for aggregation aggregate_memory_limit이 초과되었습니다. `match` 섹션의 키 수를 줄여 집계를 최적화합니다.
Spilled bytes exceed limit 쿼리에서 너무 많은 이벤트를 처리하려고 합니다. metadata.log_type와 같은 필터를 추가하여 쿼리를 최적화합니다.
Your query resource usage is exceeding its allocation 쿼리에서 너무 많은 리소스를 사용하여 리소스 관리자에 의해 취소되었습니다. metadata.log_type와 같은 필터를 추가하여 쿼리를 최적화합니다.

데이터 액세스 및 시스템 오류

이러한 오류는 일시적이거나 백엔드 데이터 스토리지와 관련된 경우가 많습니다.

오류 메시지 근본 원인 해결 방법
Error reading files 기본 데이터에 액세스하는 중에 일시적인 문제가 발생했습니다. 잠시 후 다시 시도하세요. 오류가 계속되면 지원팀에 문의하세요.
Error reading database 기본 데이터에 액세스하는 중에 일시적인 문제가 발생했습니다. 잠시 후 다시 시도하세요. 오류가 계속되면 지원팀에 문의하세요.
Internal error 시스템 내의 일시적인 문제입니다. 잠시 후 다시 시도하세요. 오류가 계속되면 지원팀에 문의하세요.
Unknown error 특정 내부 오류 코드가 정의되지 않은 경우의 기본 오류 메시지입니다. 잠시 후 다시 시도하세요. 오류가 계속되면 지원팀에 문의하세요.
Request was throttled, please try again later 시스템에 과부하가 걸려 있습니다. 잠시 후 다시 시도하세요.

알 수 없는 런타임 오류

설명이 없는 알 수 없는 런타임 오류가 발생할 수 있습니다. 이 문제가 발생하면 Google SecOps 지원팀에 문의하세요.

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.