AWS 명령줄 인터페이스(AWS CLI)를 사용하여 이상 탐지를 기반으로 Amazon CloudWatch 경보를 생성하려면 어떻게 해야 합니까?
간략한 설명
지표에 대해 이상 탐지를 활성화하면 CloudWatch가 지표의 기록 데이터에 기계 학습 알고리즘을 적용하여 지표의 예상 값 모델을 생성합니다.
모델은 다음을 나타내는 두 개의 지표를 생성합니다.
- 정상 지표 동작의 상위 밴드
- 두 표준 편차의 기본값을 갖는 정상 지표 동작의 하위 밴드
자세한 내용은 CloudWatch 이상 탐지 작동 방식을 참조하세요.
해결 방법
참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인합니다.
1. JSON 파일을 생성하여 이상 탐지를 기반으로 CloudWatch 경보를 설정하십시오.
{
"AlarmActions": [
"arn:aws:sns:us-east-1:397466294846:test1"
],
"AlarmName": "MyAlarmName",
"AlarmDescription": "This alarm uses an anomaly detection model",
"Metrics": [
{
"Id": "m1",
"ReturnData": true,
"MetricStat": {
"Metric": {
"MetricName": "NetworkIn",
"Namespace": "AWS/EC2",
"Dimensions": [
{
"Name": "InstanceId",
"Value": "i-0e1830cdc0447f6b9"
}
]
},
"Stat": "Average",
"Period": 60
}
},
{
"Id": "t1",
"Expression": "ANOMALY_DETECTION_BAND(m1, 3)"
}
],
"EvaluationPeriods": 2,
"ThresholdMetricId": "t1",
"ComparisonOperator": "LessThanLowerOrGreaterThanUpperThreshold"
}
이 파일의 내용은 다음과 같습니다.
- m1의 Id가 인스턴스의 NetworkIn지표에 할당됩니다. t1은 NetworkIn지표에 대한 이상 탐지 모델 함수입니다. 모델은 세 가지 표준 편차를 사용하여 밴드의 너비를 설정합니다.
- ThresholdMetricId는 t1로 설정되고 ComparisonOperator는 LessThanLowerOrGreaterThanUpperThreshold로 설정됩니다. 이러한 설정은 연속된 두 번의 평가 기간 동안 지표 값이 어느 방향으로든 비정상 모델 밴드를 벗어나면 경보가 ALARM 상태로 전환되도록 합니다.
2. JSON 파일을 anomaly-alarm.json으로 저장합니다. 그런 후 다음 명령을 실행하여 파일에 지정된 이상 탐지 밴드가 있는 경보를 생성합니다.
$ aws cloudwatch put-metric-alarm --cli-input-json file://anomaly-alarm.json
경보 생성을 마치면 모델이 생성됩니다. 처음에 그래프에 표시되는 밴드는 이상 탐지 밴드의 근사치입니다. 모델에서 생성된 이상 탐지 밴드가 그래프에 표시되는 데 최대 15분이 걸릴 수 있습니다.
관련 정보
이상 탐지를 기반으로 CloudWatch 경보 생성