【GCP入門編・第17回】 Stackdriver Monitoring で Google Compute Engine を監視しよう!
- GCP入門編
- Google Compute Engine
- Stackdriver Monitoring
- stackdriver
アプリケーションの運用をする中で、障害にいち早く気づくための監視は、なくてはならない存在です。ただ、監視ツールの設定は往々にして手間がかかるというイメージもあるかと思います。
この記事では、 Stackdriver の機能である Stackdriver Monitoring を利用して、 Compute Engine 、 App Engine に対して監視を設定する方法を紹介します。 Stackdriver Monitoring を利用することで、 GCP で運用するインフラやアプリケーションの監視は飛躍的に簡単になります。なくてはならないけど設定が面倒、そんな監視についてのイメージが払拭されることでしょう。
目次
この記事の目的
- Stackdriver のアカウントを作成して、使用準備をしよう。
- Stackdriver Monitoring を使って、 Google Compute Engine の監視を行おう。
Stackdriver Monitoring の使用準備
Stackdriver を使用するためには、 Stackdriver のアカウントを作成する必要があります。 Stackdriver のアカウント作成は、 GCP のコンソール上から行うことができます。まずはブラウザでコンソールを開きましょう。
コンソールを開いたら、 Stackdriver のログイン画面に移動します。左側のメニューを表示し、 [Monitoring] をクリックします。
遷移したページに表示されている [Login with Google] をクリックすると、 OAuth のログイン画面が表示されます。 Stackdriver を使用する Google アカウントを選択して許可をクリックすることで、 Stackdriver のアカウント作成画面に移動します。
プロジェクトを選択し、 [Create Account] をクリックしましょう。アカウントの作成が行われ、監視するプロジェクトの選択画面が表示されます。 Stackdriver では、アカウントを作成したプロジェクト以外のプロジェクトを監視することもできます。この例では、 My Cloud Project のみを監視しますので、特に追加をせずに、 [Continue] をクリックします。
次に、 AWS の監視を行う場合のために、 AWS のアカウント追加画面が表示されます。こちらも特に設定は行わないため、 [Continue] をクリックします。
上図の通り、Stackdriver agent のインストールを解説する画面が表示されます。こちらは後ほど行いますので、ひとまず [Continue] をクリックしてスキップします。
“Get Reports by Email” という画面が表示されます。こちらは、 Stackdriver のレポートをどのくらいの頻度で受け取るのか選択する画面です。今回はデモですので、 "No report" を選択して、 [Continue] をクリックします。
"Finished Initial collection!" というメッセージが表示されたら、 Stackdriver の利用を開始できます。ここでひとまず、 GCP に戻り、監視対象のインスタンスを作成しましょう。
Stackdriver Monitoring を利用して Compute Engnine のインスタンスを監視する
GCP のコンソール上で、 Compute Engine を選択し、 [Create instance] をクリックしてインスタンスの作成を行います。【GCP入門編・第3回】 Google Compute Engine (GCE) でのインスタンス起動方法!を参考に、 Ubuntu 16.04 LTS のイメージを使ってインスタンスを起動し、 gcloud compute ssh でログインを行います。
ログインが完了したら、以下のコマンドで nginx をインストールします。今回は、インスタンス自体の監視と、 nginx の監視を設定します。
$ sudo apt-get install -y nginx
次に、以下のコマンドで、 Stackdriver の agent をインストールします。 agent は、インスタンスから CPU やメモリの使用率といったメトリクスを収集し、 Stackdriver Monitoring に送信するためのプログラムです。
$ curl -O https://repo.stackdriver.com/stack-install.sh
$ sudo bash stack-install.sh --write-gcm
以下のメッセージが表示されたら、 Stackdriver のエージェントの起動は成功です。
[ ok ] Restarting stackdriver-agent (via systemctl): stackdriver-agent.service.
次に、 loging agent をインストールします。
$ curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
$ sudo bash install-logging-agent.sh
ここで、先ほどまでブラウザで開いていた、 Stackdriver のコンソールを開きます。コンソールを開いたら、左側に表示されるメニューの、 [Alerting] をクリックし、 [Uptime Checks] をクリックします。
右上の、 [Add Uptime Check] をクリックすると、 "New Uptime Check" というダイアログが開きます。自動で検出されたリソースに対する Uptime Check を追加するかどうか聞かれるかもしれませんが、この場合は [No thanks] をクリックして、手動で Uptime Check を追加する画面を表示します。
下に表示されているように、 Resource Type を "instance" に変更し、先ほど作成したインスタンスを選択します。 name を ”test-uptime-check” に変更し、 [Test] をクリックします。
responded with 200 (OK)
このようにテストが成功したことを確認し、 [Save] をクリックします。 Alerting Policy を追加するかどうか聞くダイアログが表示されますので、 [Create Alerting Policy] をクリックします。
Notifications の [Add Notification] をクリックし、 Email アドレスを入力して [Save] をクリックします。これで、設定した Uptime Check に対する通知ポリシーが作成されました。
以上で、監視の設定は完了です。10分ほど待つと、最初のチェックが走ります。10分程度待って、先ほどのインスタンスに設定した Nginx を試しに終了し、通知が届くかどうかチェックしてみましょう。以下のコマンドで、 Nginx を終了します。
$ sudo service nginx stop
そして、しばらく待っていると、以下のようなメールが Stackdriver から届きます。
Stackdriver コンソールに移動し、 Uptime Checks を開くと、以下のように Nginx へのアクセスが失敗したことがわかります。
おわりに
いかがでしたか。 Stackdriver Monitoring を使うことで、とても簡単にアプリケーションのエラー通知を追加することが可能です。今回は Nginx サーバーへのアクセスチェックを追加しましたが、この他にも、 CPU 使用量やメモリ使用量など、様々な監視項目を追加することが可能です。
弊社トップゲートでは、Google Cloud (GCP) 利用料3%OFFや支払代行手数料無料、請求書払い可能などGoogle Cloud (GCP)をお得に便利に利用できます。さらに専門的な知見を活かし、
- Google Cloud (GCP)支払い代行
- システム構築からアプリケーション開発
- Google Cloud (GCP)運用サポート
- Google Cloud (GCP)に関する技術サポート、コンサルティング
など幅広くあなたのビジネスを加速させるためにサポートをワンストップで対応することが可能です。
Google Workspace(旧G Suite)に関しても、実績に裏付けられた技術力やさまざまな導入支援実績があります。あなたの状況に最適な利用方法の提案から運用のサポートまでのあなたに寄り添ったサポートを実現します!
Google Cloud (GCP)、またはGoogle Workspace(旧G Suite)の導入をご検討をされている方はお気軽にお問い合わせください。
お問合せはこちら
メール登録者数3万件!TOPGATE MAGAZINE大好評配信中!
Google Cloud(GCP)、Google Workspace(旧G Suite) 、TOPGATEの最新情報が満載!