system-slow-regexes

정규표현식 처리 지연이 발생한 쿼리의 정규표현식 실행 통계를 조회합니다.

명령어 속성

항목설명
명령어 유형드라이버 쿼리
필요 권한없음
라이선스 사용량집계 안 함
병렬 실행미지원
분산 실행미지원

문법

system-slow-regexes

옵션

옵션 없음

출력 필드

필드타입설명
id64비트 정수통계 항목의 고유 식별자
created_at날짜통계 항목이 최초로 생성된 시각
last_update날짜통계 항목이 마지막으로 갱신된 시각
query_id32비트 정수지연이 발생한 쿼리의 ID
query_source문자열지연이 발생한 쿼리의 소스
query_string문자열지연이 발생한 쿼리의 전체 쿼리 문자열
regex_origin문자열정규표현식이 정의된 원본 위치
pattern문자열지연이 발생한 정규표현식 패턴
re2j_started64비트 정수RE2J 엔진 실행 횟수
re2j_finished64비트 정수RE2J 엔진 정상 완료 횟수
re2j_success64비트 정수RE2J 엔진 성공 횟수
jdk_started64비트 정수JDK 정규표현식 엔진 실행 횟수
jdk_finished64비트 정수JDK 정규표현식 엔진 정상 완료 횟수
jdk_success64비트 정수JDK 정규표현식 엔진 성공 횟수
jdk_cancel64비트 정수JDK 정규표현식 엔진 취소 횟수
jdk_step_limit64비트 정수JDK 정규표현식 엔진의 단계 제한 초과 횟수

오류 코드

파싱 오류

해당 사항 없음

런타임 오류

해당 사항 없음

설명

system-slow-regexes 명령어는 정규표현식 처리 지연이 발생한 쿼리의 실행 통계를 조회합니다. 로그프레소는 정규표현식 처리 시 RE2J 엔진을 우선 시도하고, 지원하지 않는 패턴인 경우 JDK 엔진으로 폴백하여 처리합니다.

JDK 엔진에서 처리 시간이 오래 걸리는 정규표현식이 감지되면 해당 통계가 기록됩니다. jdk_cancel이나 jdk_step_limit 값이 높은 경우 해당 정규표현식 패턴이 ReDoS(Regular Expression Denial of Service) 취약점을 가질 수 있습니다.

사용 예

  1. 느린 정규표현식 통계 전체 조회

    system-slow-regexes
    
  2. 단계 제한 초과가 많은 패턴 조회

    system-slow-regexes | sort -jdk_step_limit
    
  3. 취소 횟수가 있는 정규표현식 조회

    system-slow-regexes | search jdk_cancel > 0
    

호환성

system-slow-regexes 명령어는 소나 4.0.2511.0 버전부터 제공되었습니다.