AWS CLI를 사용하여 이상 탐지를 기반으로 CloudWatch 경보를 생성하려면 어떻게 해야 하나요?

2분 분량
0

AWS Command Line Interface(AWS CLI)를 사용하여 이상 탐지를 기반으로 하는 Amazon CloudWatch 경보를 생성하려고 합니다.

간략한 설명

지표에 이상 탐지를 활성화하면 CloudWatch는 지표의 기록 데이터에 기계 학습 알고리즘을 적용합니다. CloudWatch는 이 데이터를 사용하여 지표의 예상 값 모델을 만들고 두 개의 지표를 생성합니다.

  • 정상 지표 동작의 상위 대역
  • 두 표준 편차의 기본값을 사용하는 정상 지표 동작의 하위 대역

자세한 내용은 CloudWatch 이상 탐지 작동 방식을 참조하세요.

해결 방법

**참고:**AWS CLI 명령을 실행할 때 오류가 발생하면 최신 AWS CLI 버전을 사용하고 있는지 확인합니다.

방법 1:

1.    이상 탐지를 기반으로 CloudWatch 경보를 설정하는 JSON 파일 생성:

{
  "AlarmActions": [
    "arn:aws:sns:us-east-1:123456789012:CW-Alarm-Notification"
  ],
  "AlarmName": "EC2_NetworkIn_Anomaly_Alarm",
  "AlarmDescription": "Trigger when EC2 NetworkIn is outside normal traffic volume",
  "Metrics": [
    {
      "Id": "m1",
      "ReturnData": true,
      "MetricStat": {
        "Metric": {
          "MetricName": "NetworkIn",
          "Namespace": "AWS/EC2",
          "Dimensions": [
            {
              "Name": "InstanceId",
              "Value": "i-024de5ace7c560660"
            }
          ]
        },
        "Stat": "Average",
        "Period": 300
      }
    },
    {
      "Id": "t1",
      "Expression": "ANOMALY_DETECTION_BAND(m1, 2)"
    }
  ],
  "EvaluationPeriods": 2,
  "ThresholdMetricId": "t1",
  "ComparisonOperator": "LessThanLowerOrGreaterThanUpperThreshold"
}

참고:

  • m1Id는 인스턴스의 NetworkIn 지표에 할당됩니다. t1NetworkIn 지표에 대한 이상 탐지 모델 함수입니다. 이 모델은 세 개의 표준 편차를 사용하여 대역의 너비를 설정합니다.
  • ThresholdMetricIdt1로 설정되고 ComparisonOperatorLessThanLowerOrGreaterThanUpperThreshold로 설정됩니다. 지표 값이 두 번의 연속 평가 기간에 어느 방향에서든 이상 모델 대역을 벗어나면 이러한 설정으로 경보 상태가 시작됩니다.

2.    JSON 파일을 anomaly-alarm.json으로 저장합니다.

3.    파일에 지정된 이상 탐지 대역을 사용하여 경보를 생성하려면 다음 명령을 실행합니다.

$ aws cloudwatch put-metric-alarm --cli-input-json file://anomaly-alarm.json

방법 2:

JSON 파일 없이 AWS CLI 명령을 실행할 수도 있습니다.

aws cloudwatch put-metric-alarm \
--alarm-name "EC2_NetworkIn_Anomaly_Alarm" \
--alarm-description "Trigger when EC2 NetworkIn is outside normal traffic volume" \
--alarm-actions arn:aws:sns:us-east-1:123456789012:CW-Alarm-Notification \
--comparison-operator LessThanLowerOrGreaterThanUpperThreshold \
--evaluation-periods 2 \
--threshold-metric-id t1 \
--metrics "[{\"Id\":\"m1\",\"ReturnData\":true,\"MetricStat\":{\"Metric\":{\"Namespace\":\"AWS\/EC2\",\"MetricName\":\"NetworkIn\",\"Dimensions\":[{\"Name\":\"InstanceId\",\"Value\":\"i-024de5ace7c560660\"}]},\"Stat\":\"Average\",\"Period\":300}},{\"Id\":\"t1\",\"Expression\":\"ANOMALY_DETECTION_BAND(m1,2)\"}]"

경보를 생성한 후 모델이 생성됩니다. 처음에 그래프에 표시되는 대역은 이상 탐지 대역의 근사치입니다. 모델이 생성하는 이상 탐지 대역이 그래프에 나타나려면 최대 15분 정도 걸릴 수 있습니다.

관련 정보

이상 탐지를 기반으로 CloudWatch 경보 생성

put-metric-alarm

AWS 공식
AWS 공식업데이트됨 6달 전