この記事の概要
システムを監視するCloudWatchの記事です。インフラの運用と保守をメインで扱うものです。
EC2のCPUがある一定のラインを超えたら管理者に通知がいくようにします。
システム監視とは
システムに異常がないかを確認し、正常な状態で稼働状況やリソースを監視することです。
すぐに障害を確認し、復旧できるように対処していきます。
監視の種類
⚫︎死活監視
正常にシステムが稼働しているか確認することです。
⚫︎メトリクス監視
メトリクスとはリソースの状況で、パフォーマンスを定量的に確認します。
指標などを決めて、閾値以上か以下かを把握します。
監視で注意すること
-
基本的なCPUやMemory,Networkなどを監視すればいいみたいです。
障害が起きた時に原因がわかりやすくなります。 -
システムや利用状況は変わるので、足りない監視を調整したり足していきます。
CloudWatchとは
AWSサービスの監視やモニタリングができるサービスです。
AWSのメトリクスを監視し、メトリクスに対して閾値を登録し、その条件になればアラートを出し、通知をしてくれます。
そんな中、Amazon SNSサービスがあり、Topicを作成することで、メッセージを送信し、
通知を受信するための通信チャンネルとして機能します。
CloudWatch設定
今回はEC2のシステムのCPUの使用率が60%を超えたらアラームを出します。
CloudWatchのアラーム作成
cloudwatchで検索してcloudwatchの画面にいき、アラームを選択します。
そしてアラームの作成
をクリックします。
次にメトリクスの選択をクリックします。
cpu使用率が60%以上で設定します。次へをクリックします。
アクションの設定で新規トピックの作成し、通知を受け取るEメールを決めます。
すると既存のSNSトピックを選択にチェックが入り、登録した自分のメールが反映されます。
下に行って次へをクリックします。
そしてアラームを作成していきます。
SNS通知がくる
サブスクリプションの認証を登録したアドレスで登録し認証します。登録したアドレスのメールを確認してください。
指定したメールアドレスにcpuが60%を超えたらアラートがくるようになりました。
CloudWatchのアラート確認
まずアラートの状態です。
cpu使用率をこれから60%を超えるようにします。
EC2インスタンスを開きます。EC2でSSH接続をします。
以下のコマンドを使います。
[ec2-user@ip-10-0-7-161 ~]$ yes > /dev/null/ & #5回実行
cpu使用率を確認します。
ec2-user@ip-10-0-7-161 ~]$ top
cpu使用率が上がります。時間が経てばcloudwatchで確認するとアラームが出てるはずです。
最後は停止をしておきましょう。
[ec2-user@ip-10-0-7-161 ~]$ ps aux | grep yes
[ec2-user@ip-10-0-7-161 ~]$ kill -9 プロセス番号 #停止
資料