

# CloudWatch Metrics Insights 쿼리에 대한 CloudWatch 경보
<a name="cloudwatch-metrics-insights-alarms"></a>

Metrics Insights 쿼리에 대한 경보를 생성할 수 있습니다. 이를 통해 나중에 업데이트할 필요 없이 여러 리소스를 추적하는 경보를 생성할 수 있습니다. 쿼리는 새 리소스와 변경되는 리소스를 캡처합니다. 예를 들어 플릿의 CPU 사용률을 관찰하는 경보를 생성할 수 있으며 경보는 경보 생성 후 시작하는 새 인스턴스를 자동으로 평가합니다.

CloudWatch 크로스 계정 관찰성을 위해 설정된 모니터링 계정에서 Metrics Insights 경보는 소스 계정과 모니터링 계정 자체의 리소스를 관찰할 수 있습니다. 경보 쿼리를 특정 계정으로 제한하거나 결과를 계정 ID별로 그룹화하는 방법에 대한 자세한 내용은 [CloudWatch Metrics Insights의 쿼리 구성 요소 및 구문](cloudwatch-metrics-insights-querylanguage.md)의 `WHERE` 및 `GROUP BY` 섹션을 참조하세요.

**경보 쿼리에서 태그 사용**

AWS 리소스 태그를 사용하여 지표를 필터링하고 그룹화하는 Metrics Insights 쿼리에 대한 경보를 생성할 수 있습니다. 태그를 경보와 함께 사용하려면 [https://console.aws.amazon.com/connect/](https://console.aws.amazon.com/connect/)에서 **설정**을 선택합니다. **CloudWatch 설정** 페이지의 **원격 분석에서 리소스 태그 활성화**에서 **활성화**를 선택합니다. 컨텍스트 인식 경보는 리소스가 변경되면 특정 애플리케이션, 환경 또는 팀을 자동으로 모니터링합니다.

예를 들어 특정 애플리케이션으로 태그가 지정된 모든 Amazon EC2 인스턴스의 CPU 사용률을 모니터링하는 경보를 생성할 수 있습니다.

```
SELECT MAX(CPUUtilization) FROM "AWS/EC2" WHERE tag.Application = 'Orders' AND tag.Environment = 'Prod'
```

태그 기반 경보는 일치하는 태그가 있는 리소스를 사용자가 추가하거나 제거할 때 자동으로 조정되므로, 운영 구조에 맞는 동적 모니터링을 제공합니다.

**Contents**
+ [Metrics Insights CloudWatch 경보 생성](cloudwatch-metrics-insights-alarm-create.md)

# Metrics Insights CloudWatch 경보 생성
<a name="cloudwatch-metrics-insights-alarm-create"></a>

**콘솔을 사용하여 Metrics Insights 쿼리에 대한 경보를 생성하려면 다음을 수행하세요.**

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

1. 탐색 창에서 **지표**, **모든 지표**를 선택합니다.

1. (선택 사항) 미리 구축된 샘플 쿼리를 실행하려면 **쿼리 추가(Add query)**를 선택하고 실행할 쿼리를 선택합니다. 또는 **편집기(Editor)**를 선택하여 샘플 쿼리를 편집한 다음 **실행(Run)**을 선택하여 수정된 쿼리를 실행합니다.

1. 자체 쿼리를 생성하려면 **다중 소스 쿼리**를 선택하세요. **빌더** 보기, **편집기** 보기 또는 두 보기의 조합을 사용할 수도 있습니다. 두 보기 간에 전환할 수 있으며 두 보기 모두에서 진행 중인 작업을 확인할 수 있습니다.

   **빌더(Builder)** 보기에서 지표 네임스페이스, 지표 이름, 필터, 그룹 및 순서 옵션을 찾아 선택할 수 있습니다. 이러한 각 옵션에 대해 쿼리 빌더는 사용자 환경에서 선택할 수 있는 선택 목록을 제공합니다.

   **Editor(편집기)** 보기에서 쿼리 작성을 시작할 수 있습니다. 입력할 때 편집기는 지금까지 입력한 문자를 기반으로 제안 사항을 제공합니다.

   예를 들어 경보에 대한 Metrics Insights 쿼리를 생성할 때 태그를 사용하면 지표를 필터링하고 그룹화하여 더욱 타겟팅된 모니터링을 지원할 수 있습니다.
   + 태그별 필터링 - `WHERE tag.keyName = 'value'`를 사용하여 특정 태그가 있는 리소스를 모니터링합니다.

     ```
     SELECT MAX(CPUUtilization) FROM "AWS/EC2" WHERE tag.Environment = 'Prod'
     ```
   + 태그를 차원과 결합 - 태그 필터를 기존 지표 차원과 혼합합니다.

     ```
     SELECT AVG(Duration) FROM "AWS/Lambda" WHERE tag.Application = 'OrderService' AND FunctionName = 'process%'
     ```
**참고**  
태그를 사용할 경우, 평가 기간 동안 관련 리소스에 지정된 태그가 있는 경우에만 경보가 지표와 매칭됩니다.

1. 쿼리에 만족하는 경우 **실행(Run)**을 선택합니다.

1. **경보 생성**을 선택하세요.

1. **조건**에서 다음을 지정합니다.

   1. **지표가 *다음인 경우* 항상**에서 지표가 임곗값보다 크거나, 작거나, 같아야 하는지 여부를 지정합니다. **than...**에서 임곗값을 지정합니다.

   1. **추가 구성**을 선택합니다. **경보에 대한 데이터 포인트**에서 경보를 트리거하기 위해 평가 기간(데이터 포인트)이 `ALARM` 상태로 유지해야 하는 기간을 지정합니다. 두 값이 일치하는 경우 다수의 연속 기간이 위반되면 `ALARM` 상태가 되는 경보가 생성됩니다.

      N 중 M 경보를 생성하려면 두 번째 값에 지정한 값보다 낮은 값을 첫 번째 값에 지정합니다. 자세한 내용은 [경보 평가](alarm-evaluation.md) 단원을 참조하세요.

   1. **누락 데이터 처리**에서 일부 데이터 포인트가 누락된 경우 경보가 어떻게 동작할지 선택합니다. 자세한 내용은 [CloudWatch 경보가 누락 데이터를 처리하는 방법 구성](alarms-and-missing-data.md) 단원을 참조하세요.

1. **다음(Next)**을 선택합니다.

1. **알림(Notification)**에서 경보가 `ALARM` 상태, `OK` 상태 또는 `INSUFFICIENT_DATA` 상태일 때 알릴 SNS 주제를 선택합니다.

   경보가 동일한 경보 상태 또는 다른 경보 상태에 대해 여러 개의 알림을 보내도록 설정하려면 **알림 추가**를 선택합니다.

   경보에서 알림을 보내지 않게 하려면 **제거**를 선택합니다.

1. 경보가 Auto Scaling, EC2 또는 Systems Manager 작업을 수행하도록 하려면 해당 버튼을 선택하고 경보 상태 및 수행할 작업을 선택합니다. 경보는 ALARM 상태가 될 때만 Systems Manager 작업을 수행할 수 있습니다. Systems Manager 작업에 대한 자세한 내용은 [ 경보에서 OpsItem을 생성하도록 CloudWatch 구성](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-create-OpsItems-from-CloudWatch-Alarms.html) 및 [ 인시던트 생성](https://docs.aws.amazon.com/incident-manager/latest/userguide/incident-creation.html)을 참조하세요.
**참고**  
SSM Incident Manager 작업을 수행하는 경보를 생성하려면 특정 권한이 있어야 합니다. 자세한 내용은 [AWS Systems Manager Incident Manager의 자격 증명 기반 정책 예](https://docs.aws.amazon.com/incident-manager/latest/userguide/security_iam_id-based-policy-examples.html) 단원을 참조하세요.

1. 마친 후에는 **다음**을 선택합니다.

1. 경보 이름 및 설명을 입력합니다. 이름은 ASCII 문자만 포함해야 합니다. 그리고 **다음(Next)**을 선택합니다.

1. **미리 보기 및 생성**에서 정보 및 조건이 원하는 내용인지 확인한 다음 **경보 생성**을 선택합니다.

**AWS CLI를 사용하여 Metrics Insights 쿼리에 대한 경보를 생성하려면**

`put-metric-alarm` 명령을 사용하고 `metrics` 파라미터에 Metrics Insights 쿼리를 지정합니다. 예를 들어, 다음 명령은 인스턴스의 CPU 사용률이 50%를 초과할 경우 ALARM 상태가 되는 경보를 설정합니다.

```
aws cloudwatch put-metric-alarm —alarm-name Prod-App-CPU-Alarm —evaluation-periods 1 —comparison-operator GreaterThanThreshold —metrics '[{"Id":"m1","Expression":"SELECT MAX(CPUUtilization) FROM \"AWS/EC2\" WHERE tag.Environment = '\''Prod'\'' AND tag.Application = '\''OrderService'\''", "Period":60}]' —threshold 80
```