Uptime Checks は、Cloud Monitoring のサービスです。世界中の様々な場所からお使いのアプリケーション、サービス、または URL に要求を送信して、システムの正常性をチェックするようサービスを設定します。システム正常性が悪化したときに通知されるよう、アラート ポリシーの条件としてチェックの結果を使用できます。

Alert Policy は、リソースまたはグループが正常に動作しているかどうかを判断する一連のルールです。そのルールは、メトリックしきい値を呼び出す論理的条件および稼働時間チェックです。たとえば、Web サイトの平均応答待機時間は 2 分当たり 5 秒を超えてはいけないというルールを作成できます。

アラート ポリシーの条件に該当する場合、アラートが発生し、Cloud Monitoring Console の [Incidents] セクションに Incident が表示されます。アラート ポリシー ルールの違反状態がなくなるか、手動で閉じられるまで、インシデントは開いたままとなります。

通知をアラート ポリシーと関連付けできます。たとえば、アラートは、E メールまたは SMS 通知を人またはサービスに送信できます。

本コードラボでは、Compute Engine インスタンスで Uptime Check を作成し、それにアラート ポリシーを添付して、マシン ダウン時の通知としてそのポリシーからのインシデントを作成されるようにする方法について学びます。

学習内容

必要な環境

本チュートリアルをどのように使用しますか?

通読するだけ 通読し、演習をこなす

Google Cloud Platform についてのあなたの習熟度として、最も適切なものを選択してください

初心者 中級者 上級者

自己学習環境セットアップ

Google アカウント (Gmail または Google Apps) をまだ持っていない場合、作成する必要があります。Google Cloud Platform コンソール (console.cloud.google.com) にサインインし、新しいプロジェクトを作成します。

すべての Google Cloud プロジェクトで一意の名前であるプロジェクト ID (上記の名前はすでに取得されているため、使用できません!) を覚えてください。以降、本コードラボでは PROJECT_ID と呼びます。

次に、Cloud Datastore、Cloud Storage などの Google Cloud リソースを使用するには、Developers Console で課金を有効にする必要があります。

本コードラボの実行には数ドルもかかりませんが、より多くのリソースを利用するか、実行し続けると、より多く料金がかかる場合があります (本書末尾の「クリーンアップ」セクションを参照してください)。

Google Cloud Platform の新規ユーザーは、300 ドル無料トライアルの対象となります。

監視を有効にするには、Google Cloud Platform プロジェクト内の実際に監視するインフラストラクチャが必要であるため、まずはそれを作りましょう。

リソースが稼働中かどうかを確認して HTTP 要求でヒットできる URL を作るため、Cloud Launcher を通して NGINX で Compute Engine インスタンスを作成します。

仮想マシンを作る手順:

  1. Cloud Launcher にアクセスします。
  2. 検検索バーに「NGINX」と入力します。
  3. [NGINX (Bitnami)] オプションをクリックします。
  4. をクリックします。
  5. すべてのオプションをデフォルトのままとし、をクリックします
  6. NGINX インスタンスが起動します。
  7. Cloud Monitoring が有効化に移る間、これをバックグラウンドで継続できます。そのため、起動の完了を待つ必要はありません。

監視できるリソースができました!

Google Cloud Monitoring を使用するには、それをプロジェクトに対して有効にしなければなりません。

プロジェクトのいずれかで Cloud Monitoring を使用するには、次の手順を行います。

プロジェクトのいずれかで Stackdriver Monitoring を使用するには、次の手順を行います。

  1. Stackdriver Monitoring Console にアクセスして、監視したいプロジェクトを選択し、[Continue] を選択します。
  2. ログインをし直すよう促すプロンプトが表示された場合、[Log in with Google] をクリックし、ログインするアカウントを選択します。

  1. ログインすると、Stackdriver から Stackdriver アカウントへのプロジェクトの追加を求められます。[Create a new Stackdriver account] を選択し、[Continue] をクリックします。

  1. プロジェクトを Stackdriver Monitoring に追加します。[Continue] ボタンが無効になっている場合、ページをリフレッシュして再試行します。

  1. プロジェクトを選択し、[Continue] をクリックします。
  2. AWS を使用する場合、Stackdriver Monitoring で AWS リソースも監視できます。このタブでは、このセクションをスキップし、[Done] をクリックします。

  1. Stackdriver が初期化され、準備が完了したら、[Launch monitoring] をクリックします。

  1. 最後に、Stackdriver は電子メールで監視レポートを送信できます。本ラボでは、[No reports] を選択し、[Continue] をクリックします。

Cloud Monitoring Console が表示されています。表示される情報は、使用中の Google サービスおよびセットアップした監視機能によって異なりますが、おおむね次のようになります。

監視が有効になったので、Uptime Check を作成しましょう。稼働時間チェックは、与えられたリソースが常に稼働していることを確認するプロセスです。稼働時間チェックは、次のようなさまざまな方法で作成できます。HTTP、HTTPS、UDP、TCP。

本 Code Lab では、先ほど作成した NGINX Web サーバーを監視する HTTP 稼働時間チェックを作成します。

Uptime Check を作成するには、監視ダッシュボードにある [Create Check] ボタンをクリックします。

そこから、フォームが次のスクリーンショットのように表示されるように、次のオプションを選択します。

  1. をクリックして、Uptime Check が正しく機能することを確認します。に戻ります
  2. をクリックし、Uptime Check を保存します。
  3. Alerting Policy の質問で [No Thanks] をクリックします。次のセクションで、これを行います。

おめでとうございます。Uptime Check を作成できました。

Uptime Check を作成しただけでは、まだ終わりません。Uptime Check が失敗したときに通知するものが必要です。そこで、Alerting Policy の登場です。

Alerting Policy の作成方法は複数ありますが (上述)、ここでは Uptime Check から直接 Alerting Policy を作成します。

  1. Alerting > Uptime Checks に移動します
  2. 「nginx-plus-1」インスタンスの右端のメニューを開きます。
  3. [Create Alerting Policy] をクリックします。

ポリシー名の設定

Incident が作成されたときに分かりやすいよう、Alerting Policy に分かりやすい名前を付けます。

  1. Policy の名前を「NGINX」とします

条件

これによって、このアラートの発生条件が設定されます。この場合、先ほど設定した HTTP チェックが失敗した場合に、失敗と判定されるようにします。

これにはすでに、前のステップで設定した Uptime Check が設定されています。

通知の追加

次に、通知方法を設定する必要があります。PagerDuty 統合、SMS、Slack、Hipchet など、多くのオプションがありますが、とりあえず最も簡単なオプションは Email なので、まずはそれを設定しましょう。

  1. [Method] で、[Email] を選択します。
  2. 通知を受信したい電子メール アドレスを入力しましょう。
  3. をクリックします。

NGINX サーバーが 5 分間ダウンした場合の Alerting Policy を作成できました。ダウン時に電子メールが送信され、Google Cloud Monitoring Console に Incident が作成されます。

Uptime Check Alerting Policy によって稼働時間状態が監視される Compute Engine インスタンスが作成されました。

おさらい

次のステップ

参考