このチュートリアルでは、 Cloud Monitoring を使用して App Engine フレキシブル環境で実行する Python Hello World アプリ用の稼働時間アラートを設定する方法を示します。 稼働時間アラートは、アプリがトラフィックを処理していない場合に通知を行います。Compute Engine または Google Kubernetes Engine(GKE)で実行するアプリの稼働時間アラートを設定することもできます。
目標
- 基本的な Hello World アプリを実行する。
- アプリが HTTP「200」ステータス コードを返すかどうかを監視する稼働時間チェックを作成します。
- 稼働時間チェックが失敗したときにメール メッセージを送信するアラートを作成します。
- アプリを再起動してアラートをトリガーします。
費用
Monitoring は現在、ベータ版のユーザーに無償で提供されています。
始める前に
- アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
サンプルアプリのクローン作成
サンプルアプリは GitHub の GoogleCloudPlatform/getting-started-python で入手できます。
リポジトリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/getting-started-python.gitサンプル ディレクトリに移動します。
cd getting-started-python/gceアプリは「Hello World!」を返すだけなので、設定は不要で、すぐに実行できます。
gcloud app deploy返されたメッセージを確認するには、ブラウザで次の URL を入力します。
https://PROJECT_ID.REGION_ID.r.appspot.com次のように置き換えます。
PROJECT_ID: 実際の Google Cloud プロジェクト IDREGION_ID: App Engine がアプリに割り当てるコード
稼働時間チェックの作成
アプリをデプロイしたら、Monitoring を使用して稼働時間チェックを作成できます。このチェックでは、デプロイされたアプリに継続的に ping を送信して、正常なレスポンスが返されることを確認します。
-
コンソールで、
[稼働時間チェック] ページに移動します。 Google Cloud 検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。
- [稼働時間チェックの作成] をクリックします。
チェックに
Check Hello Worldなどのタイトルを指定してから、[次へ] をクリックします。[ターゲット] セクションで、稼働時間チェックのモニタリング対象を指定します。
- App Engine にデプロイしたため、[Resource Type] を [URL] ではなく [App Engine] に変更します(URL は Compute Engine インスタンスでカスタム URL を生成するためのものです)。
- 稼働時間チェックでモニタリングするサービス を選択します。
- [Path] を空白のままにすると、デフォルトでメイン インデックス ページが表示されます。
- [チェック頻度] は、デフォルトの [1] 分のままにします。
- [次へ] をクリックします。
[レスポンスの確認] フィールドはデフォルト値のままにして、[次へ] をクリックします。
[アラートと通知] セクションで、アラートが発生した場合の通知方法を指定します。
- トグルのラベルが [アラートが有効] になっていることを確認します。
- 名前と期間のフィールドはデフォルト値のままにします。
アラート ポリシーに通知チャネルを追加するには、[通知チャネル] というラベルのテキスト ボックスで ]メニュー] をクリックします。追加するチャネルを選択し、[OK] をクリックします。通知は、チャネルタイプごとにアルファベット順にグループ化されます。
チェックボックス リストにエントリを追加するには、[通知チャネルを管理] をクリックし、指示に従います。このダイアログに戻ったら、[更新] refresh をクリックします。
[作成] をクリックします。作成アクションが成功すると、Check and alert created というメッセージが表示され、その後 [Uptime checks] ダッシュボード ページが表示されます。
この [Uptime checks] ダッシュボードには、新しい稼働時間チェックが一覧表示されます。チェック名をクリックすると、その稼働時間チェックの詳細ビューが開きます。このビューには複数のグラフが表示され、稼働時間の割合と構成情報が表示されます。また、構成済みのアラート ポリシーも一覧表示されます。ポリシーを表示するには、その名前をクリックします。
[アラート] ページから開始しても、アラート ポリシーを確認できます。アラートページの [ポリシー] ペインには、ポリシーのサブセットが一覧表示されます。すべてのポリシーを一覧表示するには、[すべてのポリシーを見る] をクリックします。
停止のシミュレーション
稼働時間チェックが作成されたので、HTTP 200 OK レスポンスではなく HTTP 404 Sorry, we can't find that page エラーで応答するようにアプリを変更して、停止をシミュレートできます。
次のコードを見ると、Hello World アプリは「Hello World!」というメッセージだけを返していて、レスポンスのステータス コードはデフォルトの
200 OKになっています。このコードを Hello World アプリで表示するには、ビュー関数を使用します。Hello World アプリから HTTP
404エラーコードが返されるようにするには、return 行を変更して戻り値の 2 番目の部分に404値を追加します。return 'Hello World', 404
新たに意図的にエラーを組み込んだアプリをデプロイします。
gcloud app deploy
30 分以内に、稼働時間チェックの失敗を示すメール メッセージが送信されます。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。
課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。
プロジェクトを削除するには:
- コンソールで [**リソースの管理**] ページに移動します。 Google Cloud
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、 [Shut down] をクリックしてプロジェクトを削除します。