기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
CloudWatch Logs Insights 쿼리 저장 및 재실행
쿼리를 생성한 후 나중에 다시 실행할 수 있도록 저장할 수 있습니다. 쿼리는 폴더 구조로 저장되므로 체계적으로 관리할 수 있습니다. 계정별로 리전당 최대 1,000개의 쿼리를 저장할 수 있습니다.
쿼리는 사용자별 수준이 아닌 리전별 수준에 저장됩니다. 쿼리를 생성하고 저장하는 경우 동일한 리전의 CloudWatch Logs에 액세스할 수 있는 다른 사용자는 해당 리전의 저장된 모든 쿼리와 폴더 구조를 볼 수 있습니다.
쿼리를 저장하려면 logs:PutQueryDefinition 권한이 있는 역할에 로그인해야 합니다. 저장된 쿼리의 목록을 보려면 logs:DescribeQueryDefinitions 권한이 있는 역할에 로그인해야 합니다.
참고
파라미터, 즉 명명된 자리 표시자가 있는 재사용 가능한 템플릿을 사용하여 쿼리를 생성하고 저장할 수 있습니다. 동일한 쿼리의 여러 변형을 서로 다른 값으로 저장하는 대신 템플릿을 하나 생성하고 실행할 때 서로 다른 파라미터 값을 제공합니다. 이 기능은 현재 Logs Insights 쿼리 언어를 사용하는 쿼리에만 지원됩니다. 자세한 내용은 파라미터와 함께 저장된 쿼리 사용을 참조하세요.
작은 정보
PutQueryDefinition을 사용하여 저장된 쿼리에 대한 폴더를 만들 수 있습니다. 저장된 쿼리에 대한 폴더를 만들려면 슬래시(/)를 사용하여 원하는 쿼리 이름에 원하는 폴더 이름을 접두사로 붙입니다. <. 이 작업에 대한 자세한 내용은 PutQueryDefinition을 참조하세요.folder-name>/<query-name>
저장된 쿼리의 새 버전을 저장하려면
https://console.aws.amazon.com/cloudwatch/
에서 CloudWatch 콘솔을 엽니다. -
탐색 창에서 로그를 선택한 다음, 로그 인사이트를 선택합니다.
-
오른쪽에서 쿼리를 선택합니다.
-
저장된 쿼리 목록에서 쿼리를 선택합니다. 이 쿼리가 쿼리 편집기에 나타납니다.
-
쿼리를 수정합니다. 작업을 확인하기 위해 쿼리를 실행해야 하는 경우 쿼리 실행을 선택합니다.
-
새 버전을 저장할 준비가 되면 작업, 다른 이름으로 저장을 선택합니다.
-
쿼리의 이름을 입력합니다.
-
(선택 사항) 쿼리를 저장할 폴더를 선택합니다. 새로 생성을 선택하여 폴더를 만듭니다. 새 폴더를 만드는 경우 폴더 이름에 슬래시(/) 문자를 사용하여 폴더 구조를 정의할 수 있습니다. 예를 들어, 새 폴더의 이름을
folder-level-1/folder-level-2로 지정하면folder-level-1이라는 최상위 폴더가 만들어지고 그 폴더 안에folder-level-2라는 다른 폴더가 만들어집니다. 쿼리가folder-level-2에 저장됩니다. -
(선택 사항) 쿼리의 로그 그룹 또는 쿼리 텍스트를 변경합니다.
-
저장을 선택합니다.
쿼리를 삭제하려면 logs:DeleteQueryDefinition 권한이 있는 역할에 로그인해야 합니다.
저장된 쿼리를 편집 또는 삭제하려면
https://console.aws.amazon.com/cloudwatch/
에서 CloudWatch 콘솔을 엽니다. -
탐색 창에서 로그를 선택한 다음, 로그 인사이트를 선택합니다.
-
오른쪽에서 쿼리를 선택합니다.
-
저장된 쿼리 목록에서 쿼리를 선택합니다. 이 쿼리가 쿼리 편집기에 나타납니다.
-
작업, 편집 또는 작업, 삭제를 선택합니다.
파라미터와 함께 저장된 쿼리 사용
파라미터가 있는 저장된 쿼리는 명명된 자리 표시자가 있는 재사용 가능한 쿼리 템플릿입니다. 거의 동일한 쿼리의 여러 복사본을 유지하는 대신 쿼리를 실행할 때 템플릿을 저장하고 다른 파라미터 값을 제공할 수 있습니다. 파라미터는 CloudWatch Logs Insights 쿼리 언어에서만 지원됩니다.
작동 방식
쿼리를 저장할 때 자리 표시자는 쿼리 실행 시 제공할 수 있는 값을 식별합니다. 자리 표시자는 {{parameterName}} 구문을 사용합니다. 다음은 logLevel 파라미터 2개와를 ErrorsByLevel 사용하여 라는 저장된 쿼리의 예입니다applicationName.
fields @timestamp, @message | filter level = {{logLevel}} | filter applicationName = {{applicationName}}
저장된 쿼리를 실행하려면 접두사가 붙은 쿼리 이름을 사용하고 파라미터 값을 $ 전달하여 호출할 수 있습니다. CloudWatch Logs Insights 쿼리 엔진은 각 자리 표시자를 대체합니다. 파라미터에 기본값이 포함된 경우 다른 값이 제공되지 않은 경우 해당 값이 사용됩니다.
# Run query by using query name and passing parameter values explicitly $ErrorsByLevel(logLevel = "WARN", applicationName = "OrderService") # Run query without specifying parameter values - default values are used in this case. $ErrorsByLevel()
공백 또는 특수 문자가 포함된 저장된 쿼리 이름은 백틱으로 묶어야 합니다.
$`Errors By Level`(logLevel = "WARN")
파라미터를 사용하여 저장된 쿼리 샘플
파라미터로 결과 제한 추가
쿼리 이름: 파라미터 ErrorsByLevel 포함logLevel(기본값: "ERROR"), applicationName (기본값: "OrderService") 및 maxResults (기본값: 50)
fields @timestamp, @message, @logStream | filter level = {{logLevel}} | filter applicationName = {{applicationName}} | sort @timestamp desc | limit {{maxResults}}
# Run the query using the query name and passing parameter values $ErrorsByLevel(logLevel = "WARN", applicationName = "OrderService", maxResults = 100)
파라미터와 함께 여러 저장된 쿼리 사용
아래 예제에서는 ErrorsByLevel 및 sort @timestamp desc | limit {{count}} (파라미터 count, 기본값 )로 RecentN 정의된 두 번째 저장된 쿼리를 사용합니다20. CloudWatch Logs Insights 쿼리 엔진은 실행하기 전에 각 쿼리를 확장합니다.
# Using multiple queries with parameters in sequence $ErrorsByLevel(logLevel = "WARN", applicationName = "OrderService") | $RecentN(count = 10) # Each of the queries is expanded, resulting in the following query when it is run. fields @timestamp, @message | filter level = "WARN" | filter applicationName = "OrderService" | sort @timestamp desc | limit 10
할당량 및 오류 처리
참고
저장된 각 쿼리는 최대 20개의 파라미터를 가질 수 있습니다.
확장된 쿼리 문자열은 10,000자를 초과할 수 없습니다. 파라미터 이름은 문자 또는 밑줄로 시작해야 합니다. 저장된 쿼리는 다른 저장된 쿼리를 참조할 수 없습니다(중첩된 호출은 지원되지 않음).
| 오류 | 원인 |
|---|---|
파라미터는 CWLI 쿼리 언어에만 지원됩니다. |
파라미터는 CloudWatch Logs Insights 쿼리 언어에서만 지원됩니다. |
queryString에서 필수 파라미터를 찾을 수 없음 |
의 파라미터 이름에는 쿼리 문자열 |
파라미터 수가 최대 20개를 초과합니다. |
저장된 쿼리는 현재 20개의 파라미터만 지원합니다. |
중복 파라미터 이름 |
쿼리 정의에에 중복 파라미터가 있습니다 |
참고
파라미터로 저장된 쿼리를 생성하거나 업데이트하려면 logs:PutQueryDefinition 권한이 필요합니다. 하나를 실행하려면 logs:StartQuery 및가 필요합니다logs:DescribeQueryDefinitions.