기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
지표 필터에 대한 필터 패턴 구문
참고
지표 필터와 CloudWatch 로그 인사이트 쿼리의 차이
지표 필터는 일치하는 로그를 찾을 때마다 지표 필터에 지정된 숫자 값이 추가된다는 점에서 CloudWatch 로그 인사이트 쿼리와 다릅니다. 자세한 내용은 지표 필터에 대한 지표 값 구성 단원을 참조하십시오.
Amazon CloudWatch Logs Insights에서 쿼리 언어를 사용하여 로그 그룹을 쿼리하는 방법에 대한 자세한 내용은 CloudWatch Logs Insights 쿼리 구문을 참조하세요.
일반 필터 패턴 예제
지표 필터와 구독 필터 및 필터 로그 이벤트에 적용할 수 있는 일반 필터 패턴 구문에 대한 자세한 내용은 지표 필터, 구독 필터 및 필터 로그 이벤트의 필터 패턴 구문을 참조하세요. 여기에 다음 예제가 포함되어 있습니다.
지원되는 정규식 구문
비정형 로그 이벤트에서 일치하는 용어 검색
JSON 로그 이벤트에서 일치하는 단어 검색
공백으로 구분된 로그 이벤트에서 일치하는 용어 검색
지표 필터를 사용하면 CloudWatch Logs로 들어오는 로그 데이터를 검색 및 필터링하고, 필터링된 로그 데이터에서 지표 관찰 내용을 추출하며, 데이터 포인트를 CloudWatch Logs 지표로 변환할 수 있습니다. CloudWatch Logs로 로그 데이터를 전송할 때 사용자가 로그 데이터에서 검색할 용어와 패턴을 정의합니다. 지표 필터는 로그 그룹에 할당이 되고, 로그 그룹에 할당된 모든 필터는 로그 스트림에 적용됩니다.
지표 필터와 일치하는 용어가 검색되면 지표 개수가 지정된 숫자 값만큼 증가합니다. 예를 들어 지표 필터를 생성하여 로그 이벤트에서 ERROR라는 단어의 개수를 계산할 수 있습니다.
지표에 측정 단위 및 차원을 할당할 수 있습니다. 예를 들어 로그 이벤트 내 ERROR라는 단어의 개수를 계산하는 지표 필터를 만드는 경우, ErrorCode
라는 차원을 지정하여 단어 ERROR를 포함하는 총 로그 이벤트 수를 표시하고 보고된 오류 코드를 기준으로 데이터를 필터링할 수 있습니다.
작은 정보
지표에 측정 단위를 할당하는 경우 올바른 단위를 지정해야 합니다. 나중에 단위를 변경하면 변경 사항이 적용되지 않을 수 있습니다. CloudWatch에서 지원하는 단위의 전체 목록은 Amazon CloudWatch API 참조의 MetricDatum을 참조하세요.
지표 필터에 대한 지표 값 구성
지표 필터를 생성할 때 필터 패턴을 정의하고 지표의 값과 기본값을 지정합니다. 지표 값을 숫자, 명명된 식별자 또는 숫자 식별자로 설정할 수 있습니다. 기본값을 지정하지 않으면 지표 필터가 일치하는 항목을 찾지 못할 경우 CloudWatch가 데이터를 보고하지 않습니다. 값이 0인 경우에도 기본값을 지정하는 것이 좋습니다. 기본값을 설정하면 CloudWatch가 데이터를 보다 정확하게 보고하고 CloudWatch가 불규칙한 지표를 집계하는 것을 방지합니다. CloudWatch는 매분마다 지표 값을 집계하고 보고합니다.
지표 필터가 로그 이벤트에서 일치하는 항목을 찾으면 지표 값을 기준으로 지표 수가 증가합니다. 지표 필터가 일치하는 항목을 찾지 못하면 CloudWatch가 지표의 기본값을 보고합니다. 예를 들어 로그 그룹이 1분마다 두 개의 레코드를 게시하고, 지표 값은 1, 기본값은 0입니다. 처음 1분 동안 지표 필터가 두 로그 레코드 모두에서 일치하는 항목을 찾을 경우 이 기간(분)의 지표 값은 2입니다. 두 번째 1분 동안 지표 필터가 두 레코드 모두에서 일치하는 항목을 찾지 못할 경우 해당 기간(분)의 기본값은 0입니다. 지표 필터가 생성하는 지표에 차원을 할당하는 경우 해당 지표에 대한 기본값을 지정할 수 없습니다.
정적 값 대신 로그 이벤트에서 추출한 값으로 지표를 증가시키도록 지표 필터를 설정할 수도 있습니다. 자세한 내용은 로그 이벤트의 값을 사용하여 지표 값 증가 섹션을 참조하세요.
JSON 값 또는 공백으로 구분된 로그 이벤트의 지표로 차원 게시
CloudWatch 콘솔이나 AWS CLI를 사용하여 JSON 및 공백으로 구분된 로그 이벤트가 생성하는 지표를 사용하여 차원을 게시하는 지표 필터를 생성할 수 있습니다. 차원은 이름/값 쌍이며 JSON 및 공백으로 구분된 필터 패턴에만 사용할 수 있습니다. JSON 및 공백으로 구분된 지표 필터를 최대 3개의 차원으로 생성할 수 있습니다. 차원에 대한 자세한 내용 및 지표에 차원을 할당하는 방법에 대한 자세한 내용은 다음 섹션을 참조하세요.
Amazon CloudWatch 사용 설명서의 차원
예제: Amazon CloudWatch Logs 사용 설명서의 Apache 로그에서 필드 추출 및 측정기준 할당
중요
차원에는 사용자 지정 지표와 동일한 요금을 수집하는 값이 포함되어 있습니다. 예기치 않은 요금이 청구되는 것을 방지하려면 IPAddress
또는 requestID
처럼 높은 카디널리티 필드를 차원으로 지정하지 마세요.
로그 이벤트에서 지표를 추출하면 사용자 지정 지표에 대한 요금이 청구됩니다. 실수로 높은 요금이 부과되는 것을 방지하기 위해 일정 시간 내에 지정한 차원에 대해 1000개의 다른 이름/값 쌍을 생성하는 경우 Amazon이 지표 필터를 사용 중지할 수 있습니다.
예상 요금을 알려주는 결제 경보를 생성할 수 있습니다. 자세한 내용은 예상 AWS 요금을 모니터링하기 위한 결제 경보 생성을 참조하세요.
다음 예제에는 JSON 지표 필터에서 차원을 지정하는 방법을 설명하는 코드 조각이 포함되어 있습니다.
다음 예제에는 공백으로 구분된 지표 필터에서 차원을 지정하는 방법을 설명하는 코드 조각이 포함되어 있습니다.
로그 이벤트의 값을 사용하여 지표 값 증가
로그 이벤트에서 찾은 숫자 값을 게시하는 지표 필터를 생성할 수 있습니다. 이 섹션의 절차에서는 다음 예제 지표 필터를 사용하여 JSON 로그 이벤트의 숫자 값을 지표에 게시하는 방법을 보여 줍니다.
{ $.latency = * } metricValue: $.latency
로그 이벤트에 값을 게시하는 지표 필터 생성
https://console.aws.amazon.com/cloudwatch/
에서 CloudWatch 콘솔을 엽니다. -
왼쪽 탐색 창에서 로그(Logs)를 선택한 다음, 로그 그룹(Log groups)을 선택합니다.
-
로그 그룹을 선택하거나 생성합니다.
로그 그룹을 생성하는 방법에 대한 자세한 내용은 Amazon CloudWatch Logs 사용 설명서의 CloudWatch Logs에서 로그 그룹 생성을 참조하세요.
-
작업(Actions)을 선택한 후 지표 필터 생성(Create metric filter)을 선택합니다.
-
필터 패턴(Filter Pattern)에
{ $.latency = * }
를 입력하고 다음(Next)을 선택합니다. -
지표 이름(Metric Name)에 myMetric을 입력합니다.
-
지표 값(Metric Value)에
$.latency
를 입력합니다. (선택 사항) 기본값(Default Value)에 0을 입력하고 다음(Next)을 선택합니다.
값이 0인 경우에도 기본값을 지정하는 것이 좋습니다. 기본값을 설정하면 CloudWatch가 데이터를 보다 정확하게 보고하고 CloudWatch가 불규칙한 지표를 집계하는 것을 방지합니다. CloudWatch는 매분마다 지표 값을 집계하고 보고합니다.
지표 필터 생성(Create metric filter)을 선택합니다.
예제 지표 필터가 예제 JSON 로그 이벤트의 용어 "latency"
와 일치하고 숫자 값 50을 지표 myMetric에 게시합니다.
{ "latency": 50, "requestType": "GET" }