AlibabaCloudのCloudMonitorサービスを使ってみた

AlibabaCloudは、中国で最も信頼されている中国最大のクラウドサービスプロバイダーであり、世界第3位のWebホスティングプロバイダーです。
2009年からパブリッククラウドサービスを提供しはじめまして、2016/12より、日本向けにもサービスを開始し、AWSやGCP、Azureと並ぶ急速な勢いで伸びています。
今回は、そんなAlibabaCloudのCloudMonitorサービスを操作してみました。
※AlibabaCloudは、AWSと類似するサービスが多いですが、 CloudMonitorは、AWSのCloudWatchと類似するサービスです。

## CloudMonitor

CloudMonitorは、カスタムメトリックでサーバーとデータベースを含むAlibaba Cloudリソースのモニタリングとパフォーマンスを自動化し、ログファイルを追跡および収集したり、Alibaba Cloud上で実行されているリソースの使用率を監視することができます。
CloudMonitor はすべてのメトリックにアラートサービスを提供し、サーバー、アプリケーショングループ、およびすべてのリソースごとにアラートルールを設定できます。さまざまなビジネスの視点からアラートサービスを活用できます。
ECS基本メトリックについて、次のメトリックが提供されます。今回は、ECS基本メトリック中のCPU利用率のメトリック対して、アラートルールを設定して、検証してみたいです。
※ECS基本メトリックは、エージェントをインストールが不要で、メトリックの収集間隔は 1 分です。

|メトリック項目  |意味  |単位  |
|---|---|---|
|ECS.CPUUtilization  |CPU 使用率  |％  |
|ECS.InternetInRate  |インターネットインバウンドトラフィックの平均レート  |ビット/秒  |
|ECS.IntranetInRate  |イントラネットインバウンドトラフィックの平均レート  |ビット/秒  |
|ECS.InternetOutRate  |平均インターネット送信トラフィックの割合  |ビット/秒  |
|ECS.IntranetOutRate  |イントラネットアウトバウンドトラフィックの平均レート  |ビット/秒  |
|ECS.SystemDiskReadbps  |1 秒あたりのシステムディスクから読み取られたバイト数  |バイト/秒  |
|ECS.SystemDiskWritebps  |システムディスクに書き込まれた 1 秒あたりのバイト数  |バイト/秒  |
|ECS.SystemDiskReadOps  |システムディスクからデータを 1 秒間に読み取る回数  |回数/秒  |
|ECS.SystemDiskWriteOps  |データがシステムディスクに 1 秒あたりに書き込まれる回数  |回数/秒  |
|ECS.InternetIn  |インターネットインバウンドトラフィック  |バイト  |
|ECS.InternetOut  |インターネットアウトバウンドトラフィック  |バイト  |
|ECS.IntranetIn  |イントラネットインバウンドトラフィック  |バイト  |
|ECS.IntranetOut  |イントラネット発信トラフィック  |バイト  |
## 手順
さて、作業をしていきましょう。
今回の目標は、ECSインスタンスのCPU使用率を監視してメールを通知するアラームの作成方法を説明します。
1. CloudMonitorのアラームの作成
2. CloudMonitorのアラームの検証
### 前提
ECSインスタンスが稼働中であること（事前に監視対象のインスタンスIDをメモしておく）
### 1. CloudMonitorのアラームの作成
####■アラーム送信先の作成
・[CloudMonitor コンソール]にログオンします。
・[アラーム送信先] ページにアクセスし、ページの右上隅にある [送信先を作成] ボタンをクリックします。
<img width="2816" alt="2018-05-10 20.42.51.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/256080/f009be9b-6d6c-fa2c-3a8d-0951160ceaa7.jpeg">
・名前、メールを入力します。
・確認目的の電子メールが送信されます。送信された認証番号を入力します。
<img width="1614" alt="スクリーンショット 2018-05-10 20.44.16.png" src="https://qiita-image-store.s3.amazonaws.com/0/256080/6eb41739-f46e-d33f-5db4-1bc04cb80a07.png">
・[保存]をクリックします。

####■アラーム送信先グループの作成
・[CloudMonitor コンソール]にログオンします。
・[アラーム送信先] ページにアクセスします。
・ページ上部にある [アラーム送信先グループ] メニューをクリックして、アラーム送信先グループリストに切り替えます。
<img width="2812" alt="スクリーンショット 2018-05-10 20.42.06.png" src="https://qiita-image-store.s3.amazonaws.com/0/256080/f8ab78fd-0a7a-4ff3-e609-e079814c496c.png">
・右上隅にある [新しい送信先グループ] をクリックして、[新しい送信先グループ] ページにアクセスします。
・グループ名を入力し、適切な送信先をグループに追加します。
<img width="1610" alt="スクリーンショット 2018-05-10 20.46.16.png" src="https://qiita-image-store.s3.amazonaws.com/0/256080/a6f8d481-990e-53bb-a484-85d54b4d75a5.png">
・[確定]をクリックします。

####■CloudMonitorアラームの作成
・[CloudMonitor コンソール] にログインします。
・[クラウドモニター] の [ECSモニタリング]のページに移動します。
・[アラームルール]タブをクリックします。
・右上隅の[アラームルールの作成]をクリックします。
<img width="2642" alt="スクリーンショット 2018-05-10 21.21.02.png" src="https://qiita-image-store.s3.amazonaws.com/0/256080/f7b7ffe0-8c7e-e32a-1ce3-11c2a3729437.png">
・[アラームルールの作成]ページでアラームパラメータを設定します。パラメータの詳細については、下記を参照してください。
　　リソース：インスタンスリスト
　　インスタンスリスト：監視対象のインスタンスを選択する
　　ルールの説明：「 1 分間の平均 CPU 使用率 > = ５0 ％」と設定する
　　アラームタイプ：作成したアラーム送信先グループを選択する
　　メール：通知メールの雛形を設定する
<img width="2548" alt="スクリーンショット 2018-05-10 21.22.30.png" src="https://qiita-image-store.s3.amazonaws.com/0/256080/304229ce-21eb-2aa6-fc59-c84728ac9ee8.png">
<img width="2666" alt="スクリーンショット 2018-05-10 21.23.23.png" src="https://qiita-image-store.s3.amazonaws.com/0/256080/c946bdc1-915e-5c0b-ff1c-16b499213079.png">
・[ 確認]をクリックして、アラームルールの設定を保存します。
### 2. CloudMonitorアラームの検証
####■CPU使用率をあげる
・監視対象にログインします。
 次のように入力することで ssh 接続をすることが出来る。※Macの標準sshクライアントソフトの場合の入力例です。

```
sudo ssh -l root XX.XX.XX.XX -i ~/Downloads/amen-home.pem
```
ここで、-l オプションに続く` root `の部分は、sshで接続する際に使用するログインアカウント名。
また、そのあとの` XX.XX.XX.XX `の部分には、接続先のコンピュータ名を IP アドレスやドメイン名で指定する。
特に指定しなければ通常は 22/tcp ポートを使用するが、変更する必要がある場合は、-p オプションを追加。
その場合、`ssh -l root -p 1000 XX.XX.XX.XX `というような感じになる。
この例の場合は 1000 番ポートの ssh サーバに接続するということ。
-iオプションの後ろには、実際の秘密鍵のパスを設定します。

yesコマンドで監視対象インスタンスのCPU使用率をあげる

```
yes >> /dev/null &
```
topコマンドで、CPU資料率を確認してみます。CPU使用率が９９%になってますね。このまま1分間ぐらい待ちます。
<img width="1374" alt="スクリーンショット 2018-05-10 21.59.51.png" src="https://qiita-image-store.s3.amazonaws.com/0/256080/37b49eea-261b-32ca-0f87-c677c69c09b9.png">

####■通知メールの確認
1分間後に、ラーム送信先に設定したメールに、CPUアラームのメールが届いたことを確認します。
<img width="1186" alt="スクリーンショット 2018-05-10 22.32.34.png" src="https://qiita-image-store.s3.amazonaws.com/0/256080/40529d21-9a81-c90a-f707-8fb911eb6ba6.png">

ECSモニタリングからもアラーム表示になっていることが確認できます。
<img width="1399" alt="スクリーンショット 2018-05-10 22.36.48.png" src="https://qiita-image-store.s3.amazonaws.com/0/256080/6509634e-e7a8-0170-a426-8c57c319114e.png">

## おわりに

今回は、ECSインスタンスのCPU使用率を監視してメールを通知するアラームの作成をしてみました。
[ドキュメント](https://jp.alibabacloud.com/help/doc-detail/48184.htm?spm=a21mg.p38356.b99.32.2b093552Vtjkm3)を参考に試してみてはどうでしょうか。