AWS初心者は必ず読むべき！必見！AWSの基本⑩CloudWatchでシステム監視

# この記事の概要
システムを監視するCloudWatchの記事です。インフラの運用と保守をメインで扱うものです。
EC2のCPUがある一定のラインを超えたら管理者に通知がいくようにします。

# システム監視とは
システムに異常がないかを確認し、正常な状態で稼働状況やリソースを監視することです。
すぐに障害を確認し、復旧できるように対処していきます。

### 監視の種類
⚫︎```死活監視```
***正常にシステムが稼働しているか確認***することです。


⚫︎```メトリクス監視```
メトリクスとは***リソースの状況***で、パフォーマンスを定量的に確認します。
指標などを決めて、閾値以上か以下かを把握します。

#### 監視で注意すること
1. ***基本的なCPUやMemory,Networkなどを監視***すればいいみたいです。
障害が起きた時に原因がわかりやすくなります。

2. ***システムや利用状況は変わるので、足りない監視を調整したり足して***いきます。


# CloudWatchとは
AWSサービスの監視やモニタリングができるサービスです。
AWSのメトリクスを監視し、メトリクスに対して閾値を登録し、その条件になればアラートを出し、通知をしてくれます。

そんな中、Amazon SNSサービスがあり、Topicを作成することで、メッセージを送信し、
通知を受信するための通信チャンネルとして機能します。


# CloudWatch設定
今回はEC2のシステムのCPUの使用率が60％を超えたらアラームを出します。

### CloudWatchのアラーム作成
cloudwatchで検索してcloudwatchの画面にいき、アラームを選択します。
そして```アラームの作成```をクリックします。
次にメトリクスの選択をクリックします。　
![スクリーンショット 2022-10-12 2.46.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1748789/250caf6e-5fe5-03d2-4020-9d8db9b34423.png)

EC2のcpuの使用率をみたいのでEC2を選択します。
![スクリーンショット 2022-10-12 2.48.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1748789/ebf12c92-b547-b1f4-a37f-79d2cd5b399c.png)

CPUUtilizationを選択します。
![スクリーンショット 2022-10-12 2.50.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1748789/cce6a1c9-f77d-3619-313a-bd6aeaf307c8.png)

メトリクスと条件の指定で期間は1分にします。
![スクリーンショット 2022-10-12 2.52.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1748789/61b96a93-2f39-a254-06cb-de579222cbf3.png)

cpu使用率が６０％以上で設定します。次へをクリックします。
![スクリーンショット 2022-10-12 2.53.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1748789/83ca82da-88af-648d-054f-437614216e03.png)

アクションの設定で新規トピックの作成し、通知を受け取るEメールを決めます。
![スクリーンショット 2022-10-12 2.56.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1748789/7464ba30-4b73-7f20-c586-c9cb8dde8752.png)


すると既存のSNSトピックを選択にチェックが入り、登録した自分のメールが反映されます。

下に行って次へをクリックします。

アラーム名を決めて次へをクリックします。
![スクリーンショット 2022-10-12 3.00.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1748789/3c348484-46a0-6a72-2ac8-ea0bbf23cb9f.png)

そしてアラームを作成していきます。


### SNS通知がくる

サブスクリプションの認証を登録したアドレスで登録し認証します。登録したアドレスのメールを確認してください。
![スクリーンショット 2022-10-12 3.05.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1748789/80686ec3-e70d-f770-0b85-19a57cd5e7bc.png)

![スクリーンショット 2022-10-12 3.14.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1748789/146f97d1-d3fb-8382-c610-a6b2ed636388.png)


下の画像のようにAmazon SNSから入って、
![スクリーンショット 2022-10-12 3.08.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1748789/c1b7c2a3-06a7-7852-d641-25b7a6c62227.png)

指定したメールアドレスにcpuが60%を超えたらアラートがくるようになりました。
![スクリーンショット 2022-10-12 3.09.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1748789/3c47b583-fe37-dbbd-292f-bcc6ed8eac09.png)


# CloudWatchのアラート確認
まずアラートの状態です。

![スクリーンショット 2022-10-13 2.05.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1748789/7d9b4b14-720d-94cf-2185-3831628c3549.png)

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 プロセス番号　　#停止
```



# 資料

https://www.udemy.com/course/aws-and-infra/?aEightID=s00000016735001&AID=190908007224&a8=PlQKLlknX1zBDBaq.wzJncu_p1fqzQucJwA5k1yg05hnX1QlC1QHRJzHrD0GZGuAv56JgVQTvlQKjs00000016735001