AWSのCloudwatchにアラート(Alarm)を設定し、監視する

こんにちは。新人の橋本です。

これまではオンプレミスのハイブリッドクラウド(プライベート+パブリック)や物理サーバにて運用構築業務についてましたが、

AWS自体は初めて取り扱う環境ですので、その目線から、ブログを書いていきたいと思います。

今回はAWS導入後、基本的なリソース監視ができるCloudwatchの設定、およびAlarmを設定し、閾値を超えたらEメールを送付するという

ごくごく基本的な設定について記載します。

 

1)設定画面

EC2にてインスタンス作成後、EC2の[Instance]項目にてにてAlarm設定したいインスタンスを選択し、[monitoring]タブを選択します。

スクリーンショット1

 

2)Alarm設定

右部分にある[Create Alarm]を選択すると、CreateAlarm画面が表示されるため、各項目を入力します。

  • Send a Notification to → 別項目にて、SNS topicを作成している場合、リストに追加されます(今回は追加しません)
  • Take the action → Alarm発生時のアクション。発生した場合どうするかを選択できます(今回は設定しません)
  • Whenever → リストより程度(Average,Max,Minimumなど)、および項目(CPU Utilization、Disk Usageなど)を選択します
  • Is → 閾値(○○パーセント以上or以下など)を設定します
  • For at least → 判定条件(○分間毎に△回[Whenever]項目が[Is]だった場合にAlarmカウントする)を設定します
  • Name of Alarm → Alarm名を設定します

スクリーンショット2  

3)設定追加

各項目設定後、右下の[Create Alarm]を選択すると、Alarm項目が作成され、次の画面が表示されるので、リンクをクリックします。

スクリーンショット3

 

4)項目追加確認

CloudWatch Management Console画面に遷移するため、項目が追加されたことを確認し、[Modify]タブをクリックします。

スクリーンショット4

 

5)メール送信設定①

[Modify Alarm]画面が表示されるため、[Actions]項目の[+Notification]をクリックします。

 

スクリーンショット5

6)メール送信設定②

[Notification]項目が表示されるため、[Newlist]を選択し、送信先メールアドレスを設定します。

  • Whenever this alarm → どの状態の時にメールを送信するか設定します(今回はAlarm状態になったときに送信します)
  • Send notification → 送信先を設定します

 

スクリーンショット6

 

7)メール送信設定③

各項目を設定したら右下[Save Changes]を選択します。

スクリーンショット7

 

8)メール送信確認①

[Confirm new email addresses]画面が表示され、設定したメールアドレスに確認メールが送付されます。

スクリーンショット8

 

9)メール送信確認②

設定したメールアドレスに、次のようなメールが届いているため、リンク先をクリックします。

  • 件名:AWS Notification - Subscription Confirmation
  • 送信元:no-reply@sns.amazonaws.com

 

スクリーンショット9

 

10)メール送信確認③

リンクをクリックすると、確認完了画面が表示されます。

注意)表示された画面の「click here to unsubscribe」をクリックしてしまうと、メールアドレスの設定が解除されるため注意!

スクリーンショット10

 

11)メール送信確認④

[Confirm new email addresses]画面に戻ると送信先アドレス確認設定が完了しているため、[View Alarm]を選択します。

 

スクリーンショット11

 

これでAlarmが設定できました。

今回は、「CPU使用率が10分間(5分×2)90%超え続けるとAlarmをカウントする」という項目を追加しました。

 

実証のため、設定したインスタンスにて、負荷をかけて試験してみます。

今回は以下のような単純なvbsを作成し、CPUに負荷をかけてます。

メモ帳に貼り付け、名前を「cpu_busy.vbs」で保存しダブルクリックで実行してみます。

Dim goal Dim before Dim x Dim y Dim i

goal = 1000000

Do While True before = Timer For i = 0 to goal x = 0.000001 y = sin(x) y = y + 0.00001 Next

y = y + 0.01

Loop

 

実行前)

スクリーンショット12

 

実行後)

スクリーンショット13

 

これで先ほどのCloudWatch ManagementConsoleにてAlarm画面を見てみます。

 

5分後・・・

 

スクリーンショット14

 

 

おや、閾値を超えたぞ・・・?

 

 

10分後・・・

 

 

 

スクリーンショット15

 

Alarmsがカウントされた!!

 

この状態で、先ほど設定した送信先アドレスにメールが届いているか確認してください。

きっとAlarmの項目名が件名となっているメールが届いていると思います!

#届いていない場合は、フィルターがかかってないか受信環境も併せて確認してみてください

 

まとめ)

Cloudwatchを設定することによって、簡易的なリソース監視ができるようになります。

また、設定する項目によっては請求レポート(Billing)やCPU高負荷時に一時的に強化される値(バースト値:CPUCreditUtil値)の設定、

最近ではOSのログを蓄積し、リアルタイムに監視する設定もできるようになっているため、

お使いの環境にていろいろと試してみてください。