필터 - 아마존 CloudWatch 로그

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

필터

filter 명령을 사용하여 하나 이상의 조건과 일치하는 로그 이벤트를 가져올 수 있습니다.

예제: 하나의 조건을 사용한 로그 이벤트 필터링

아래 코드 조각은 range에 대한 값이 3000보다 큰 모든 로그 이벤트를 반환하는 쿼리의 예를 보여줍니다. 쿼리는 결과를 20개의 로그 이벤트로 제한하고 로그 이벤트를 내림차순의 @timestamp로 정렬합니다.

fields @timestamp, @message | filter (range>3000) | sort @timestamp desc | limit 20

예제: 둘 이상의 조건을 사용한 로그 이벤트 필터링

키워드 andor을 사용하여 둘 이상의 조건을 결합할 수 있습니다.

아래 코드 조각은 range에 대한 값이 3000보다 크고 accountId에 대한 값이 123456789012와 동일한 로그 이벤트를 반환하는 쿼리의 예를 보여줍니다. 쿼리는 결과를 20개의 로그 이벤트로 제한하고 로그 이벤트를 내림차순의 @timestamp로 정렬합니다.

fields @timestamp, @message | filter (range>3000 and accountId=123456789012) | sort @timestamp desc | limit 20

필터 명령의 일치 항목 및 정규식

필터 명령은 정규 표현식 사용을 지원합니다. 비교 연산자(=, !=, <, <=, >, >=) 및 부울 연산자(and, or, not)를 사용할 수 있습니다.

in 키워드를 사용하여 설정된 멤버십을 테스트하고 배열의 요소를 확인할 수 있습니다. 배열에서 요소를 확인하려면 in 뒤에 해당 배열을 넣습니다. in과 함께 부울 연산자 not을 사용할 수 있습니다. in을 사용하여 필드가 문자열과 일치하는 로그 이벤트를 반환하는 쿼리를 생성할 수 있습니다. 필드는 완전한 문자열이어야 합니다. 예를 들어, 다음 코드 조각은 in을 사용하여 logGroup 필드가 완전한 문자열 example_group인 로그 이벤트를 반환하는 쿼리를 보여줍니다.

fields @timestamp, @message | filter logGroup in ["example_group"]

키워드 구문 likenot like를 사용하여 하위 문자열을 일치시킬 수 있습니다. 정규 표현식 연산자 =~를 사용하여 하위 문자열을 일치시킬 수 있습니다. likenot like로 하위 문자열을 일치시키려면, 일치해야 하는 하위 문자열을 큰따옴표 또는 작은따옴표로 둘러쌉니다. likenot like와 함께 정규식 패턴을 사용할 수 있습니다. 하위 문자열을 정규식 연산자와 일치시키려면 원하는 하위 문자열을 슬래시로 둘러쌉니다. 다음 예제에는 filter 명령을 사용하여 하위 문자열을 일치시키는 방법을 보여주는 코드 조각이 포함되어 있습니다.

예: 하위 문자열 일치

다음 예제에서는 f1에 단어 Exception이 포함된 모든 이벤트를 반환합니다. 세 예제 모두 대/소문자를 구별합니다.

첫 번째 예제에서는 like를 사용하여 하위 문자열과 일치시킵니다.

fields f1, f2, f3 | filter f1 like "Exception"

두 번째 예제에서는 like 및 정규 표현식 패턴을 사용하여 하위 문자열을 일치시킵니다.

fields f1, f2, f3 | filter f1 like /Exception/

세 번째 예제에서는 정규 표현식을 사용하여 하위 문자열을 일치시킵니다.

fields f1, f2, f3 | filter f1 =~ /Exception/

예: 와일드카드를 사용하여 하위 문자열 일치

정규 표현식에서 마침표 기호(.)를 와일드카드로 사용하여 하위 문자열을 일치시킬 수 있습니다. 다음 예에서 쿼리는 f1에 대한 값이 ServiceLog 문자열로 시작하는 일치 항목을 반환합니다.

fields f1, f2, f3 | filter f1 like /ServiceLog./

마침표 기호(.*) 뒤에 별표 기호를 배치하여 가능한 한 많은 일치 항목을 반환하는 탐욕적 수량자(Greedy Quantifier)를 생성할 수 있습니다. 예를 들어, 다음 쿼리는 f1 값이 ServiceLog 문자열로 시작할 뿐만 아니라 ServiceLog 문자열도 포함하는 일치 항목을 반환합니다.

fields f1, f2, f3 | filter f1 like /ServiceLog.*/

가능한 일치 항목은 다음과 같습니다.

  • ServiceLogSampleApiLogGroup

  • SampleApiLogGroupServiceLog

예제: 일치 항목에서 하위 문자열 제외

다음 예제에서는 f1에 단어 Exception이 포함되지 않은 모든 로그 이벤트를 반환하는 쿼리를 보여줍니다. 이 예제에서는 대/소문자를 구분합니다.

fields f1, f2, f3 | filter f1 not like "Exception"

예제: 대/소문자를 구분하지 않는 패턴으로 하위 문자열 일치

대/소문자를 구분하지 않는 하위 문자열을 like 및 정규 표현식을 사용하여 일치시킬 수 있습니다. 일치시키려는 하위 문자열 앞에 다음 파라미터(?i)를 입력합니다. 다음 예제에서는 f1에 단어 Exception 또는 exception이 포함된 모든 로그 이벤트를 반환하는 쿼리를 보여줍니다.

fields f1, f2, f3 | filter f1 like /(?i)Exception/