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 コンソール]にログオンします。
・[アラーム送信先] ページにアクセスし、ページの右上隅にある [送信先を作成] ボタンをクリックします。

・名前、メールを入力します。
・確認目的の電子メールが送信されます。送信された認証番号を入力します。

・[保存]をクリックします。

■アラーム送信先グループの作成

・[CloudMonitor コンソール]にログオンします。
・[アラーム送信先] ページにアクセスします。
・ページ上部にある [アラーム送信先グループ] メニューをクリックして、アラーム送信先グループリストに切り替えます。

・右上隅にある [新しい送信先グループ] をクリックして、[新しい送信先グループ] ページにアクセスします。
・グループ名を入力し、適切な送信先をグループに追加します。

・[確定]をクリックします。

■CloudMonitorアラームの作成

・[CloudMonitor コンソール] にログインします。
・[クラウドモニター] の [ECSモニタリング]のページに移動します。
・[アラームルール]タブをクリックします。
・右上隅の[アラームルールの作成]をクリックします。

・[アラームルールの作成]ページでアラームパラメータを設定します。パラメータの詳細については、下記を参照してください。
  リソース:インスタンスリスト
  インスタンスリスト:監視対象のインスタンスを選択する
  ルールの説明:「 1 分間の平均 CPU 使用率 > = 50 %」と設定する
  アラームタイプ:作成したアラーム送信先グループを選択する
  メール:通知メールの雛形を設定する


・[ 確認]をクリックして、アラームルールの設定を保存します。

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使用率が99%になってますね。このまま1分間ぐらい待ちます。

■通知メールの確認

1分間後に、ラーム送信先に設定したメールに、CPUアラームのメールが届いたことを確認します。

ECSモニタリングからもアラーム表示になっていることが確認できます。

おわりに

今回は、ECSインスタンスのCPU使用率を監視してメールを通知するアラームの作成をしてみました。
ドキュメントを参考に試してみてはどうでしょうか。