Amazon Cloudwatch Anomaly Detection を使用したアラーム設定

こんにちは。
ナレッジコミュニケーション 繁松です。

最近、Amazon Web Services ブログで無人販売冷蔵庫プログラムの記事を拝見したのですが
処理のほとんどをLambdaで行い、何を購入したかの判断には機械学習の技術でカメラで撮影した画像から検出させ、機械学習のモデル作成にはAmazon SageMakerを使用しており、
冷蔵庫×クラウド&機械学習 というとても面白い内容となっていました。

■記事URL
https://aws.amazon.com/jp/blogs/news/smart-cooler/

 

本日は前回の続きで「Amazon Cloudwatch Anomaly Detection」を使ったアラームの設定と、実際に設定したアラームの発報状況について書きます。
ナレコムAIサイトを運用しているインスタンスに対し、CPU使用率のアラームの設定を行いました。

ほとんど通常のCloudWatchアラームの設定手順と同じで簡単に設定できます。

1.アラームの作成

CloudWatchから[アラームの作成]をクリック

2.メトリクスの選択

対象のメトリクスを選択し、[グラフ化したメトリクス]タブに移動
数式>異常検出>バンドの計算 を選択

するとAnomaly Detectionが設定されたメトリクスが表示されるので[メトリクスの設定]をクリック

3.メトリクスと条件の指定

しきい値の種類:異常検出
アラートの条件:バンドより大きい

今回はCPU使用率が異常検出の値よりも大きくなったときに発報させます。

異常検出のしきい値:10

様子見で異常検出のしきい値は10で設定します。
数字が大きくなれば、異常とみなす値の幅も広がります。

4.アクションの設定

アラーム状態とOK状態に通知が来るよう設定を行います。

5.アラーム名

アラーム名を入力したら、[アラームの作成]をクリックして完了です。

アラームの発報状況とメトリクス

7月14日6時0分 ~ 7月17日11時0分 の発報件数は12回。
異常検出のしきい値の幅が小さすぎたのか、思ったよりも多い発報だったので、しきい値の調整を行います。
青丸をつけているところが異常検出のしきい値の範囲内に収まるように調整してみます。
実際のグラフです。

異常検出のしきい値:10→15
変更後のグラフを確認すると、通知の必要のなさそうなアラーム発報の対象箇所が減りました。

アラームの発報を確認しながら異常検出しきい値の目安をきめていくのが良さそうですね。
メールを確認したところ、急なCPU上昇の場合は事前に通知が来ていることがわかりました。

AutoScalingと組み合わせるとより安定した運用が可能になりそうですね。