지표 쿼리 옵션을 사용하여 CloudWatch 지표 인사이트 데이터 쿼리 - Amazon Managed Grafana

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

지표 쿼리 옵션을 사용하여 CloudWatch 지표 인사이트 데이터 쿼리

참고

Amazon CloudWatch 메트릭스 인사이트는 미리 보기 중입니다. CloudWatch 메트릭 인사이트 기능은 누구에게나 열려 AWS 계정있습니다. 기능은 변경될 수 있습니다.

CloudWatch 지표 쿼리 편집기에서 metric query 모드를 선택하여 지표 인사이트 데이터를 쿼리할 수 있습니다.

CloudWatch Metrics Insights는 메트릭을 대규모로 쿼리하는 데 사용할 수 있는 강력한 고성능 SQL 쿼리 엔진입니다. 모든 CloudWatch 지표의 추세와 패턴을 실시간으로 식별하는 데 사용할 수 있는 빠르고 유연한 SQL 기반 쿼리 엔진입니다. 의 SQL 방언을 사용합니다. Metrics Insights 쿼리 구문에 대한 자세한 내용은 을 참조하십시오쿼리 구문 및 키워드.

쿼리 구문 및 키워드

CloudWatch 메트릭 인사이트는 의 SQL 방언을 사용합니다. 다음 예제는 쿼리 구문을 보여줍니다.

SELECT FUNCTION(metricName) FROM namespace | [ SCHEMA(namespace[, labelKey [, ...] ]) ] [ WHERE labelKey OPERATOR labelValue [AND|OR|([...])*] [, ...] ] [ GROUP BY labelKey [, ...]] [ ORDER BY FUNCTION() [DESC | ASC] ] [ LIMIT number]

키워드는 대소문자를 구분하지 않지만 식별자는 대소문자를 구분합니다. 식별자에는 지표, 네임스페이스 및 차원의 이름이 포함됩니다.

다음 표에는 쿼리 키워드와 해당 설명이 나와 있습니다.

키워드 설명
FUNCTION 필수 사항입니다. 사용할 집계 함수를 지정하고 쿼리할 지표의 이름도 지정합니다. 유효한 값은 AVG, COUNT, MAX, MINSUM입니다.
MetricName 필수 사항입니다. 예: CPUUtilization.
FROM 필수 사항입니다. 지표의 소스을 지정합니다. 쿼리할 메트릭이 포함된 메트릭 네임스페이스나 SCHEMA 테이블 함수를 지정할 수 있습니다. 일부 네임스페이스의 예는 및 입니다. AWS/EC2 AWS/Lambda
SCHEMA (선택 사항) 정확히 일치하는 지표 또는 일치하지 않는 지표만 표시하도록 쿼리 결과를 필터링합니다.
WHERE (선택 사항) 결과를 필터링하여 지정된 표현식과 일치하는 지표만 표시합니다. 예: WHERE InstanceType != 'c3.4xlarge'.
GROUP BY (선택 사항) 쿼리 결과를 여러 시계열로 그룹화합니다. 예: GROUP BY ServiceName.
ORDER BY (선택 사항) 반환할 시계열 순서를 지정합니다. 옵션은 ASCDESC 입니다.
LIMIT (선택 사항) 반환할 시계열 수를 제한합니다.

다음은 몇 가지 예시입니다.

  • SELECT AVG(CPUUtilization) FROM "AWS/EC2"

    CPUUtilization측정기준을 무시하고 AWS/EC2 네임스페이스의 모든 측정치를 일치시키고 집계된 단일 시계열을 반환합니다.

  • SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2")

    차원이 정의되지 않은 AWS/EC2 네임스페이스의 CPUUtilization 지표만 일치시킵니다.

  • SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId)

    정확히 하나의 측정기준 () 을 CloudWatch 가진 보고된 CPUUtilization 지표만 매칭합니다. InstanceId

  • SELECT SUM(RequestCount) FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone)

    정확히 두 개의 측정기준 및 을 사용하여 CloudWatch 보고된 RequestCount 지표만 AWS/ApplicationELB 일치시킵니다. LoadBalancer AvailabilityZone

레이블 값은 작은따옴표로 묶어야 합니다.

이스케이프 문자

쿼리에서 레이블 값은 항상 작은따옴표로 묶어야 합니다.   예: SELECT MAX(CPUUtilization) FROM "AWS/EC2" WHERE AutoScalingGroupName = 'my-production-fleet'.

문자, 숫자, 밑줄 (_) 이외의 문자를 포함하는 메트릭 네임스페이스, 메트릭 이름 및 레이블 키는 큰따옴표로 묶어야 합니다. 예: SELECT MAX("My.Metric"). 둘 중 하나에 큰따옴표 자체 (예:Bytes"Input") 가 포함된 경우에는 에서와 같이 큰따옴표를 백슬래시로 넘겨야 합니다. SELECT AVG("Bytes\"Input\"") 지표 네임스페이스, 지표 이름 또는 레이블 키에 Metrics Insights의 예약된 키워드 단어가 포함되어 있는 경우 이러한 단어도 큰따옴표로 묶어야 합니다. 예를 들어 LIMIT으로 이름 붙인 지표가 있는 경우 SELECT AVG("LIMIT")를 사용합니다. 예약어가 포함되어 있지 않더라도 네임스페이스, 지표 이름 또는 레이블을 큰따옴표로 묶는 것도 유효합니다.

빌더 모드 및 코드 모드

Builder모드 또는 Code 모드에서 쿼리를 생성할 수 있습니다.

Builder모드에서 쿼리를 만들려면
  1. 위 표의 정보를 사용하여 메트릭 네임스페이스, 메트릭 이름, 필터, 그룹 및 주문 옵션을 찾아 선택합니다.

  2. 이러한 각 옵션에 대해 가능한 옵션 목록에서 선택하십시오.

Code모드에서 쿼리를 만들려면
  1. 코드 편집기에서 쿼리를 작성합니다.

  2. 쿼리를 실행하려면 코드 편집기에서 쿼리 실행을 선택합니다.

builder모드에서 쿼리를 만들려면:

  • 위 표의 정보를 사용하여 메트릭 네임스페이스, 메트릭 이름, 필터, 그룹 및 주문 옵션을 찾아 선택합니다.

  • 이러한 각 옵션에 대해 가능한 옵션 목록에서 선택하십시오.

Grafana는 선택에 따라 자동으로 쿼리를 구성합니다SQL.

모드에서 쿼리를 만들려면: code

  • 코드 편집기에서 쿼리를 작성합니다.

  • 쿼리를 실행하려면 코드 편집기에서 쿼리 실행을 선택합니다.

코드 편집기에는 키워드, 집계, 네임스페이스, 지표, 레이블 및 레이블 값에 대한 제안을 제공하는 자동 완성 기능이 내장되어 있습니다. 공백, 쉼표 또는 달러 기호를 입력하면 제안이 표시됩니다. 키보드 조합을 CTRL+Space 사용할 수도 있습니다.

코드 편집기는 쿼리를 자동 완성할 수 있습니다. 하지만 코드 편집기에서 템플릿 변수를 사용하면 자동 완성에 방해가 될 수 있습니다.

CloudWatch 메트릭 인사이트 예제

참고

CloudWatch 메트릭 인사이트는 공개 미리 보기 상태입니다. 미리보기는 모든 AWS 계정에 공개되며 액세스를 요청하지 않아도 됩니다. 일반 출시를 발표하기 전에 기능이 추가 또는 변경될 수 있습니다.

이 섹션에는 쿼리 편집기에서 직접 복사하여 사용하거나 복사 및 수정할 수 있는 유용한 CloudWatch Metrics Insights 쿼리의 예가 나와 있습니다. 이러한 예제 중 일부는 콘솔에서 이미 사용할 수 있으며 지표(Metrics) 보기의 쿼리 추가(Add query)를 선택하여 액세스할 수 있습니다.

EC2예제

인스턴스별 CPU 사용률 지표 보기

SELECT AVG(CPUUtilization) FROM "AWS/EC2" GROUP BY InstanceId

전체 플릿의 평균 CPU 사용률 보기

SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId)

평균 CPU 사용률이 가장 높은 인스턴스 10개 보기

SELECT MAX(CPUUtilization) FROM "AWS/EC2" GROUP BY InstanceId LIMIT 10

CPU사용률이 가장 높은 10개 인스턴스를 최대값순으로 내림차순으로 보기

SELECT AVG(CPUUtilization) FROM "AWS/EC2" GROUP BY InstanceId ORDER BY MAX() DESC LIMIT 10

이 경우 CloudWatch 에이전트는 애플리케이션당 하나의 CPUUtilization 지표를 수집하고 있습니다. 이 쿼리는 특정 애플리케이션 이름에 대해 해당 지표의 평균을 필터링합니다.

SELECT AVG(CPUUtilization) FROM "AWS/CWAgent" WHERE ApplicationName = 'eCommerce' SELECT AVG(ConcurrentExecutions) FROM "AWS/Lambda"

상위 10개 Lambda 함수의 평균 실행 시간을 최대값 순으로 내림차순으로 보기

SELECT AVG(Duration) FROM "AWS/Lambda" GROUP BY FunctionName ORDER BY MAX() DESC LIMIT 10

Lambda의 최대, 평균, 최소 실행 시간 보기

SELECT MAX(Duration) FROM "AWS/Lambda"

Application Load Balancer 예제

측정기준이 다음과 같은 측정치를 확인합니다. LoadBalancerAvailabilityZone

SELECT SUM(RequestCount) FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone)

활성 동시 연결 TCP 수가 포함된 지표 보기

SELECT AVG(ActiveConnectionCount) FROM "AWS/ApplicationELB"

아마존 EBS 예제

볼륨당 상위 10개 평균 쓰기 바이트 수를 내림차순으로 보기

SELECT AVG(VolumeWriteBytes) FROM "AWS/EBS" GROUP BY VolumeId ORDER BY MAX() DESC LIMIT 10

평균 Amazon EBS 볼륨 쓰기 시간 보기

SELECT AVG(VolumeTotalWriteTime) FROM "AWS/EBS"

평균 Amazon EBS 볼륨 유휴 시간 보기

SELECT AVG(VolumeIdleTime) FROM "AWS/EBS" View average burst balance per volume SELECT AVG(BurstBalance) FROM "AWS/EBS" GROUP BY VolumeId View average read bytes across Amazon EBS volumes SELECT AVG(VolumeReadBytes) FROM "AWS/EBS"

Amazon EBS 볼륨의 평균 쓰기 바이트 수 보기

SELECT AVG(VolumeWriteBytes) FROM "AWS/EBS"

Amazon Simple Storage Service 예제

버킷 이름별 평균 지연 시간 그룹 보기

SELECT AVG(TotalRequestLatency) FROM "AWS/S3" GROUP BY BucketName

모든 Amazon S3 버킷의 버킷당 평균 객체 수 보기

SELECT AVG(NumberOfObjects) FROM "AWS/S3" GROUP BY BucketName

Amazon Simple Notification Service 예제

A mazon-simple-notificaation-service - 예제

SELECT AVG(NumberOfMessagesPublished) FROM "AWS/SNS"

각 주제 이름에 대한 평균 실패 메시지 수 보기

SELECT AVG(NumberOfNotificationsFailed) FROM "AWS/SNS" GROUP BY TopicName

AWS API사용 예제

계정 내 통화 AWS APIs 횟수별 상위 20위 보기

SELECT COUNT(CallCount) FROM "AWS/Usage" WHERE "Type" = 'API' GROUP BY "Service", "Resource" ORDER BY SUM() DESC LIMIT 20

CloudWatch 메트릭 인사이트 한도

CloudWatch 메트릭 인사이트에는 현재 다음과 같은 제한이 있습니다.

  • 가장 최근 3시간 분량의 데이터만 쿼리할 수 있습니다.

  • 단일 쿼리는 10,000개 이하의 지표를 처리할 수 있습니다. 즉SELECT,,FROM, 및 WHERE 절이 10,000개 이상의 지표와 일치하는 경우 검색된 이러한 지표 중 처음 10,000개만 쿼리에 의해 처리됩니다.

  • 단일 쿼리는 500개 이하의 시계열을 반환할 수 있습니다. 즉, 쿼리가 500개 이상의 지표를 처리하는 경우 모든 지표가 쿼리 결과에 반환되지는 않습니다. 절을 사용하면 처리 중인 모든 지표가 정렬되고 해당 ORDER BY 조항에 따라 최고값 또는 최저값을 가진 500개가 ORDER BY 반환됩니다. ORDER BY절을 포함하지 않으면 일치하는 지표 500개가 반환되는지 제어할 수 없습니다.

  • GetMetricData 작업에는 쿼리가 하나만 있을 수 있지만 대시보드에는 각각 쿼리가 포함된 위젯이 여러 개 있을 수 있습니다.