

# Metrics Insights 샘플 쿼리
<a name="cloudwatch-metrics-insights-queryexamples"></a>

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

## Application Load Balancer 예제
<a name="cloudwatch-metrics-insights-queryexamples-applicationloadbalancer"></a>

**모든 로드 밸런서의 총 요청 수**

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

**상위 10개 활성 로드 밸런서 **

```
SELECT MAX(ActiveConnectionCount) 
FROM SCHEMA("AWS/ApplicationELB", LoadBalancer) 
GROUP BY LoadBalancer 
ORDER BY SUM() DESC 
LIMIT 10
```

## AWS API 사용 예제
<a name="cloudwatch-metrics-insights-queryexamples-APIusage"></a>

**계정의 호출 수를 기준으로 한 상위 20개 AWS API**

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

**호출별로 정렬된 CloudWatch API**

```
SELECT COUNT(CallCount) 
FROM SCHEMA("AWS/Usage", Class, Resource, Service, Type) 
WHERE Type = 'API' AND Service = 'CloudWatch' 
GROUP BY Resource 
ORDER BY COUNT() DESC
```

## DynamoDB 예제
<a name="cloudwatch-metrics-insights-queryexamples-DynamoDB"></a>

**사용된 읽기별 상위 10개 테이블**

```
SELECT SUM(ProvisionedWriteCapacityUnits)
FROM SCHEMA("AWS/DynamoDB", TableName) 
GROUP BY TableName
ORDER BY MAX() DESC LIMIT 10
```

**반환된 바이트별 상위 10개 테이블**

```
SELECT SUM(ReturnedBytes)
FROM SCHEMA("AWS/DynamoDB", TableName) 
GROUP BY TableName
ORDER BY MAX() DESC LIMIT 10
```

**사용자 오류별 상위 10개 테이블**

```
SELECT SUM(UserErrors)
FROM SCHEMA("AWS/DynamoDB", TableName) 
GROUP BY TableName
ORDER BY MAX() DESC LIMIT 10
```

## Amazon Elastic Block Store 이벤트
<a name="cloudwatch-metrics-insights-queryexamples-EBS"></a>

**기록된 바이트별 상위 10개 Amazon EBS 볼륨**

```
SELECT SUM(VolumeWriteBytes) 
FROM SCHEMA("AWS/EBS", VolumeId) 
GROUP BY VolumeId 
ORDER BY SUM() DESC 
LIMIT 10
```

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

```
SELECT AVG(VolumeTotalWriteTime) 
FROM SCHEMA("AWS/EBS", VolumeId)
```

## Amazon EC2 예제
<a name="cloudwatch-metrics-insights-queryexamples-EC2"></a>

**EC2 인스턴스의 CPU 사용률을 높은순으로 정렬 **

```
SELECT AVG(CPUUtilization) 
  FROM SCHEMA("AWS/EC2", InstanceId) 
  GROUP BY InstanceId 
  ORDER BY AVG() DESC
```

**전체 플릿의 평균 CPU 사용률**

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

**CPU 사용률이 높은 상위 10개 인스턴스**

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

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

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

## Amazon Elastic Container Service 예제
<a name="cloudwatch-metrics-insights-queryexamples-ECS"></a>

**모든 ECS 클러스터의 평균 CPU 사용률 **

```
SELECT AVG(CPUUtilization) 
FROM SCHEMA("AWS/ECS", ClusterName)
```

**메모리 사용률별 상위 10개 클러스터**

```
SELECT AVG(MemoryUtilization) 
FROM SCHEMA("AWS/ECS", ClusterName) 
GROUP BY ClusterName 
ORDER BY AVG() DESC
LIMIT 10
```

**CPU 사용률별 상위 10개 서비스**

```
SELECT AVG(CPUUtilization) 
FROM SCHEMA("AWS/ECS", ClusterName, ServiceName) 
GROUP BY ClusterName, ServiceName 
ORDER BY AVG() DESC 
LIMIT 10
```

**태스크 실행별 상위 10개 서비스(Container Insights)**

```
SELECT AVG(RunningTaskCount) 
FROM SCHEMA("ECS/ContainerInsights", ClusterName, ServiceName) 
GROUP BY ClusterName, ServiceName 
ORDER BY AVG() DESC 
LIMIT 10
```

## Amazon Elastic Kubernetes Service Container Insights 예제
<a name="cloudwatch-metrics-insights-queryexamples-EKSCI"></a>

**모든 EKS 클러스터의 평균 CPU 사용률 **

```
SELECT AVG(pod_cpu_utilization) 
FROM SCHEMA("ContainerInsights", ClusterName)
```

**노드 CPU 사용률별 상위 10개 클러스터**

```
SELECT AVG(node_cpu_utilization) 
FROM SCHEMA("ContainerInsights", ClusterName) 
GROUP BY ClusterName
ORDER BY AVG() DESC LIMIT 10
```

**포드 메모리 사용률별 상위 10개 클러스터**

```
SELECT AVG(pop_memory_utilization) 
FROM SCHEMA("ContainerInsights", ClusterName) 
GROUP BY ClusterName
ORDER BY AVG() DESC LIMIT 10
```

**CPU 사용률별 상위 10개 노드**

```
SELECT AVG(node_cpu_utilization) 
FROM SCHEMA("ContainerInsights", ClusterName, NodeName) 
GROUP BY ClusterName, NodeName 
ORDER BY AVG() DESC LIMIT 10
```

**메모리 사용률별 상위 10개 포드**

```
SELECT AVG(pod_memory_utilization) 
FROM SCHEMA("ContainerInsights", ClusterName, PodName) 
GROUP BY ClusterName, PodName 
ORDER BY AVG() DESC LIMIT 10
```

## EventBridge 예제
<a name="cloudwatch-metrics-insights-queryexamples-EventBridge"></a>

**호출별 상위 10개 규칙**

```
SELECT SUM(Invocations)
FROM SCHEMA("AWS/Events", RuleName) 
GROUP BY RuleName
ORDER BY MAX() DESC LIMIT 10
```

**실패한 호출별 상위 10개 규칙**

```
SELECT SUM(FailedInvocations)
FROM SCHEMA("AWS/Events", RuleName) 
GROUP BY RuleName
ORDER BY MAX() DESC LIMIT 10
```

**일치하는 규칙별 상위 10개 규칙**

```
SELECT SUM(MatchedEvents)
FROM SCHEMA("AWS/Events", RuleName) 
GROUP BY RuleName
ORDER BY MAX() DESC LIMIT 10
```

## Kinesis 예제
<a name="cloudwatch-metrics-insights-queryexamples-Kinesis"></a>

**작성된 바이트별 상위 10개 스트림**

```
SELECT SUM("PutRecords.Bytes") 
FROM SCHEMA("AWS/Kinesis", StreamName) 
GROUP BY StreamName
ORDER BY SUM() DESC LIMIT 10
```

**스트림에서 가장 빠른 항목별 상위 10개 스트림**

```
SELECT MAX("GetRecords.IteratorAgeMilliseconds") 
FROM SCHEMA("AWS/Kinesis", StreamName) 
GROUP BY StreamName
ORDER BY MAX() DESC LIMIT 10
```

## Lambda 예제
<a name="cloudwatch-metrics-insights-queryexamples-Lambda"></a>

**호출 수를 기준으로 정렬된 Lambda 함수**

```
SELECT SUM(Invocations) 
FROM SCHEMA("AWS/Lambda", FunctionName) 
GROUP BY FunctionName 
ORDER BY SUM() DESC
```

**가장 긴 런타임별 상위 10가지 Lambda 함수**

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

**오류 개수에 따른 상위 10가지 Lambda 함수**

```
SELECT SUM(Errors) 
FROM SCHEMA("AWS/Lambda", FunctionName) 
GROUP BY FunctionName 
ORDER BY SUM() DESC 
LIMIT 10
```

## CloudWatch Logs 예제
<a name="cloudwatch-metrics-insights-queryexamples-CloudWatchLogs"></a>

**수신 이벤트별 상위 10개 로그 그룹**

```
SELECT SUM(IncomingLogEvents)
FROM SCHEMA("AWS/Logs", LogGroupName) 
GROUP BY LogGroupName
ORDER BY SUM() DESC LIMIT 10
```

**기록된 바이트별 상위 10개 로그 그룹**

```
SELECT SUM(IncomingBytes)
FROM SCHEMA("AWS/Logs", LogGroupName) 
GROUP BY LogGroupName
ORDER BY SUM() DESC LIMIT 10
```

## Amazon RDS 예제
<a name="cloudwatch-metrics-insights-queryexamples-RDS"></a>

**CPU 사용률이 높은 상위 10개 Amazon RDS 인스턴스**

```
SELECT MAX(CPUUtilization)
FROM SCHEMA("AWS/RDS", DBInstanceIdentifier) 
GROUP BY DBInstanceIdentifier
ORDER BY MAX() DESC 
LIMIT 10
```

**쓰기별 상위 10개 Amazon RDS 클러스터**

```
SELECT SUM(WriteIOPS)
FROM SCHEMA("AWS/RDS", DBClusterIdentifier) 
GROUP BY DBClusterIdentifier
ORDER BY MAX() DESC 
LIMIT 10
```

## Amazon Simple Storage Service 예제
<a name="cloudwatch-metrics-insights-queryexamples-S3"></a>

**버킷별 평균 대기 시간**

```
SELECT AVG(TotalRequestLatency) 
FROM SCHEMA("AWS/S3", BucketName, FilterId) 
WHERE FilterId = 'EntireBucket' 
GROUP BY BucketName 
ORDER BY AVG() DESC
```

**다운로드한 바이트별 상위 10개 버킷**

```
SELECT SUM(BytesDownloaded) 
FROM SCHEMA("AWS/S3", BucketName, FilterId) 
WHERE FilterId = 'EntireBucket'
GROUP BY BucketName 
ORDER BY SUM() DESC 
LIMIT 10
```

## Amazon Simple Notification Service 예제
<a name="cloudwatch-metrics-insights-queryexamples-SNS"></a>

**SNS 주제가 게시한 총 메시지**

```
SELECT SUM(NumberOfMessagesPublished) 
FROM SCHEMA("AWS/SNS", TopicName)
```

**게시된 메시지별 상위 10가지 주제**

```
SELECT SUM(NumberOfMessagesPublished) 
FROM SCHEMA("AWS/SNS", TopicName) 
GROUP BY TopicName 
ORDER BY SUM() DESC 
LIMIT 10
```

**메시지 전달 실패별 상위 10가지 주제**

```
SELECT SUM(NumberOfNotificationsFailed) 
FROM SCHEMA("AWS/SNS", TopicName)
GROUP BY TopicName 
ORDER BY SUM() DESC 
LIMIT 10
```

## Amazon SQS 예제
<a name="cloudwatch-metrics-insights-queryexamples-SQS"></a>

**표시되는 메시지 수 기준 상위 10개 대기열**

```
SELECT AVG(ApproximateNumberOfMessagesVisible)
FROM SCHEMA("AWS/SQS", QueueName) 
GROUP BY QueueName
ORDER BY AVG() DESC 
LIMIT 10
```

**가장 활발한 상위 10개 대기열**

```
SELECT SUM(NumberOfMessagesSent)
FROM SCHEMA("AWS/SQS", QueueName) 
GROUP BY QueueName
ORDER BY SUM() DESC 
LIMIT 10
```

**가장 빠른 메시지 연령별 상위 10개 대기열**

```
SELECT AVG(ApproximateAgeOfOldestMessage)
FROM SCHEMA("AWS/SQS", QueueName) 
GROUP BY QueueName
ORDER BY AVG() DESC 
LIMIT 10
```