​ ​

[お手軽] コマンド一回実行するだけでAWS EC2をCloudWatchで監視する方法[初心者向け]

給料日ですが手元に数百円しかない38才のonagataniです。こんにちわ。

タイトルは釣りっぽいですが、EC2でサーバを公開している人は沢山いると思いますが監視についてはちゃんと設定されていますか?特に個人で利用している方は監視設定されていない人が多いと思いますので、今回はコマンドを1回実行するだけで最低限の監視を実現する方法をご紹介します。

cloudwatch.png

機能

サーバに異常が発生した場合に指定されたメールアドレスに通知が届きます。また、EC2をホストしているサーバに異常があった場合は自動で別ホストで再起動します。(VMwareのVmotionのような機能をONにします)

  • 5分間CPUクレジットが50を下回った場合
  • 5分間サーバステータスが異常だった場合
  • 5分間サーバのホストが異常だった場合(通知とは別に別ホストでの再起動も行います)
  • 10分間CPU稼働率が90%を超えた場合

準備

aws cliのコマンドを有効化しておいて下さい。aws configureを実施するか、IAMロールをEC2に割り当てて下さい

使用方法

以下のようにcurlでそのまま実行するかダウンロードして実行して下さい。

$ curl -L https://raw.githubusercontent.com/onagatani/cloudwatch-create-alarm/master/cloudwatch-create-alarm | bash /dev/stdin -a test_pjt -t alarm_test -e test@example.com

実行後に指定されたメールアドレス宛てに承認メールが届きますので承認して下さい

オプション

  • -a:通知メールの共通タイトル(EC2のシステム名等)
  • -t:SNS TOPIC名(alertとかalarmなど)
  • -e:通知先メールアドレス
  • -a:AWS Cliのパス(デフォルト値/usr/bin/aws)

注意

  • ご利用される時はテストサーバなどで十分にテストして下さい
  • 最低限の監視項目しか登録されませんので、本番環境では別途zabbixやカスタムメトリクスを使用しメモリーやディスクの使用量も監視して下さい
  • t2シリーズ専用です

参考サイト

JAWS-UG CLI

このエントリーをはてなブックマークに追加