

# Container Insights 지표 보기
<a name="Container-Insights-view-metrics"></a>

Container Insights를 설정하고 지표를 수집한 후에는 CloudWatch 콘솔에서 해당 지표를 볼 수 있습니다.

대시보드에 Container Insights 지표를 표시하려면 Container Insights 설정을 완료해야 합니다. 자세한 내용은 [Container Insights 설정](deploy-container-insights.md) 섹션을 참조하세요.

이 절차에서는 Container Insights가 수집된 로그 데이터에서 자동으로 생성하는 지표를 보는 방법을 설명합니다. 이 단원의 나머지 부분에서는 데이터를 심층적으로 분석하고 CloudWatch Logs Insights를 사용하여 더 세분화된 수준에서 더 많은 지표를 확인하는 방법을 설명합니다.

**Container Insights 지표를 보려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **인사이트**를 선택한 다음 **Container Insights**를 선택합니다.

1. 맨 위 근처의 드롭다운 상자를 사용하여 보려는 리소스 유형과 특정 리소스를 선택합니다.

Container Insights가 수집하는 지표에 대해 CloudWatch 경보를 설정할 수 있습니다. 자세한 내용은 [Amazon CloudWatch 경보 사용](CloudWatch_Alarms.md) 섹션을 참조하세요.

**참고**  
컨테이너화된 애플리케이션을 모니터링하도록 CloudWatch Application Insights를 이미 설정한 경우 Application Insights 대시보드가 Container Insights 대시보드 아래에 표시됩니다. 아직 Application Insights를 활성화하지 않은 경우 Container Insights 대시보드의 성능 보기 아래에 있는 **Application Insights 자동 구성(Auto-configure Application Insights)**을 선택해 활성화할 수 있습니다.  
Application Insights 및 컨테이너화 애플리케이션에 대한 자세한 내용은 [Amazon ECS 및 Amazon EKS 리소스 모니터링을 위한 Application Insights 활성화](appinsights-setting-up-console.md#appinsights-container-insights) 섹션을 참조하세요.

## 상위 기여자 보기
<a name="Container-Insights-view-metrics-topn"></a>

Container Insights 성능 모니터링의 일부 보기에서는 메모리나 CPU 또는 가장 최근의 활성 리소스를 기준으로 상위 기여자를 확인할 수도 있습니다. 페이지 상단 근처의 드롭다운 상자에서 다음 대시보드 중 하나를 선택할 경우 사용할 수 있습니다.
+ ECS 서비스
+ ECS 태스크
+ EKS 네임스페이스
+ EKS 서비스
+ EKS 포드

이러한 유형의 리소스 중 하나를 살펴볼 때 페이지 하단에 처음에 CPU 사용량별로 정렬된 테이블이 표시됩니다. 메모리 사용량 또는 최근 활동별로 정렬되도록 변경할 수 있습니다. 테이블의 행 중 하나에 대해 자세히 보려면 해당 행 옆의 확인란을 선택한 다음, [**작업(Actions)**]을 선택하고 [**작업(Actions)** 메뉴의 옵션 중 하나를 선택합니다.

## CloudWatch Logs Insights를 사용하여 Container Insights 데이터 보기
<a name="Container-Insights-CloudWatch-Logs-Insights"></a>

Container Insights는 [임베디드 지표 형식](CloudWatch_Embedded_Metric_Format.md)을 사용한 성능 로그 이벤트를 사용하여 지표를 수집합니다. 로그는 CloudWatch Logs에 저장됩니다. CloudWatch는 CloudWatch 콘솔에서 볼 수 있는 로그에서 여러 지표를 자동으로 생성합니다. CloudWatch Logs Insights 쿼리를 사용하면 수집된 성능 데이터를 더 심층적으로 분석할 수도 있습니다.

CloudWatch Logs Insights에 대한 자세한 내용은 [CloudWatch Logs Insights를 사용한 로그 데이터 분석](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) 단원을 참조하세요. 쿼리에서 사용할 수 있는 로그 필드에 대한 자세한 내용은 [Amazon EKS 및 Kubernetes의 Container Insights 성능 로그 이벤트](Container-Insights-reference-performance-logs-EKS.md) 단원을 참조하세요.

**CloudWatch Logs Insights를 사용하여 컨테이너 지표 데이터를 쿼리하려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **로그**, **로그 인사이트**를 선택합니다.

   화면 상단 근처에 쿼리 편집기가 있습니다. CloudWatch Logs Insights를 처음 열면 이 상자에는 최신 로그 이벤트 20개를 반환하는 기본 쿼리가 포함되어 있습니다.

1. 쿼리 편집기 위의 상자에서 쿼리할 Container Insights 로그 그룹을 선택합니다. 작업할 다음 예제 쿼리에서는 로그 그룹 이름이 **performance**로 끝나야 합니다.

   로그 그룹을 선택하면 CloudWatch Logs Insights가 로그 그룹의 데이터에서 필드를 자동으로 감지하고 오른쪽 창의 [**검색된 필드(Discovered fields)**]에 해당 필드를 표시합니다. 또한 이 로그 그룹의 로그 이벤트를 시간의 흐름에 따라 보여주는 막대 그래프도 표시합니다. 이 막대 그래프에서는 테이블에 표시된 이벤트뿐만 아니라 쿼리 및 시간 범위와 일치하는 로그 그룹 내 이벤트의 분포를 보여줍니다.

1. 쿼리 편집기에서 기본 쿼리를 다음 쿼리로 바꾸고 **쿼리 실행**을 선택합니다.

   ```
   STATS avg(node_cpu_utilization) as avg_node_cpu_utilization by NodeName
   | SORT avg_node_cpu_utilization DESC
   ```

   이 쿼리는 노드 목록을 평균적인 노드 CPU 이용률에 따라 정렬하여 보여줍니다.

1. 또 다른 예를 시도하려면 쿼리를 다음 쿼리로 바꾸고 **쿼리 실행**을 선택합니다. 추가 샘플 쿼리는 이 페이지 후반부에 나열되어 있습니다.

   ```
   STATS avg(number_of_container_restarts) as avg_number_of_container_restarts by PodName
   | SORT avg_number_of_container_restarts DESC
   ```

   이 쿼리는 Pod 목록을 평균적인 컨테이너 재시작 횟수에 따라 정렬하여 보여줍니다.

1. 또 다른 쿼리를 시도하고 싶은 경우에는 화면 오른쪽의 목록에 필드를 포함시킬 수 있습니다. 쿼리 구문에 대한 자세한 내용은 [CloudWatch Logs Insights 쿼리 구문](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html) 단원을 참조하세요.

**리소스 목록을 보려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **Resources**를 선택합니다.

1. 기본 보기는 Container Insights에서 모니터링하는 리소스 목록과 이러한 리소스에 대해 설정한 경보입니다. 리소스의 시각적 맵을 보려면 **맵 보기**를 선택합니다.

1. 맵 보기에서 맵의 리소스 위에 포인터를 일시 중지하여 해당 리소스에 대한 기본 지표를 볼 수 있습니다. 리소스를 선택하여 리소스에 대한 자세한 그래프를 볼 수 있습니다.

## 사용 사례: Amazon ECS 컨테이너의 태스크 수준 지표 보기
<a name="Container-Insights-CloudWatch-Logs-Insights-example"></a>

다음 예에서는 CloudWatch Logs Insights를 사용하여 Container Insights 로그를 더 심층적으로 분석하는 방법을 보여 줍니다. 더 많은 예는 [Amazon ECS의 Amazon CloudWatch Container Insights 소개](https://aws.amazon.com/blogs/mt/introducing-container-insights-for-amazon-ecs/) 블로그를 참조하세요.

 Container Insights는 세분화된 태스크 수준에서 지표를 자동으로 생성하지 않습니다. 다음 쿼리는 CPU 및 메모리 사용량에 대한 태스크 수준 지표를 표시합니다.

```
stats avg(CpuUtilized) as CPU, avg(MemoryUtilized) as Mem by TaskId, ContainerName
| sort Mem, CPU desc
```

## Container Insights에 대한 기타 샘플 쿼리
<a name="Container-Insights-sample-queries"></a>

**평균적인 컨테이너 재시작 횟수에 따라 정렬된 Pod 목록**

```
STATS avg(number_of_container_restarts) as avg_number_of_container_restarts by PodName
| SORT avg_number_of_container_restarts DESC
```

**요청된 Pod와 실행 중인 Pod 간 비교**

```
fields @timestamp, @message 
| sort @timestamp desc 
| filter Type="Pod" 
| stats min(pod_number_of_containers) as requested, min(pod_number_of_running_containers) as running, ceil(avg(pod_number_of_containers-pod_number_of_running_containers)) as pods_missing by kubernetes.pod_name 
| sort pods_missing desc
```

**클러스터 노드 실패 횟수**

```
stats avg(cluster_failed_node_count) as CountOfNodeFailures 
| filter Type="Cluster" 
| sort @timestamp desc
```

**컨테이너 이름별 애플리케이션 로그 오류**

```
stats count() as countoferrors by kubernetes.container_name 
| filter stream="stderr" 
| sort countoferrors desc
```