system-slow-regexes
정규표현식 처리 지연이 발생한 쿼리의 정규표현식 실행 통계를 조회합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 드라이버 쿼리 |
| 필요 권한 | 없음 |
| 라이선스 사용량 | 집계 안 함 |
| 병렬 실행 | 미지원 |
| 분산 실행 | 미지원 |
문법
system-slow-regexes
옵션
옵션 없음
출력 필드
| 필드 | 타입 | 설명 |
|---|---|---|
| id | 64비트 정수 | 통계 항목의 고유 식별자 |
| created_at | 날짜 | 통계 항목이 최초로 생성된 시각 |
| last_update | 날짜 | 통계 항목이 마지막으로 갱신된 시각 |
| query_id | 32비트 정수 | 지연이 발생한 쿼리의 ID |
| query_source | 문자열 | 지연이 발생한 쿼리의 소스 |
| query_string | 문자열 | 지연이 발생한 쿼리의 전체 쿼리 문자열 |
| regex_origin | 문자열 | 정규표현식이 정의된 원본 위치 |
| pattern | 문자열 | 지연이 발생한 정규표현식 패턴 |
| re2j_started | 64비트 정수 | RE2J 엔진 실행 횟수 |
| re2j_finished | 64비트 정수 | RE2J 엔진 정상 완료 횟수 |
| re2j_success | 64비트 정수 | RE2J 엔진 성공 횟수 |
| jdk_started | 64비트 정수 | JDK 정규표현식 엔진 실행 횟수 |
| jdk_finished | 64비트 정수 | JDK 정규표현식 엔진 정상 완료 횟수 |
| jdk_success | 64비트 정수 | JDK 정규표현식 엔진 성공 횟수 |
| jdk_cancel | 64비트 정수 | JDK 정규표현식 엔진 취소 횟수 |
| jdk_step_limit | 64비트 정수 | JDK 정규표현식 엔진의 단계 제한 초과 횟수 |
오류 코드
파싱 오류
해당 사항 없음
런타임 오류
해당 사항 없음
설명
system-slow-regexes 명령어는 정규표현식 처리 지연이 발생한 쿼리의 실행 통계를 조회합니다. 로그프레소는 정규표현식 처리 시 RE2J 엔진을 우선 시도하고, 지원하지 않는 패턴인 경우 JDK 엔진으로 폴백하여 처리합니다.
JDK 엔진에서 처리 시간이 오래 걸리는 정규표현식이 감지되면 해당 통계가 기록됩니다. jdk_cancel이나 jdk_step_limit 값이 높은 경우 해당 정규표현식 패턴이 ReDoS(Regular Expression Denial of Service) 취약점을 가질 수 있습니다.
사용 예
-
느린 정규표현식 통계 전체 조회
system-slow-regexes -
단계 제한 초과가 많은 패턴 조회
system-slow-regexes | sort -jdk_step_limit -
취소 횟수가 있는 정규표현식 조회
system-slow-regexes | search jdk_cancel > 0
호환성
system-slow-regexes 명령어는 소나 4.0.2511.0 버전부터 제공되었습니다.