このチュートリアルでは、Cloud Monitoring を使用して App Engine フレキシブル環境で実行する Python Hello World アプリ用の稼働時間アラートを設定する方法を示します。稼働時間アラートは、アプリがトラフィックを処理していない場合に通知を行います。Compute Engine または Google Kubernetes Engine(GKE)で実行するアプリの稼働時間アラートを設定することもできます。
目標
- 基本的な Hello World アプリを実行します。
- アプリが HTTP「200」ステータス コードを返すかどうかを監視する稼働時間チェックを作成します。
- 稼働時間チェックが失敗したときにメール メッセージを送信するアラートを作成します。
- アプリを再起動してアラートをトリガーします。
料金
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
Monitoring は現在、ベータ版のユーザーに無償で提供されています。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure 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.
-
Make sure 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 がアプリに割り当てるコード
プロジェクト用の Cloud Monitoring の構成
Monitoring を構成してアプリをデプロイすると、Monitoring を使用して稼働時間チェックを作成できます。チェックは、デプロイされたアプリに ping を継続的に実行し、アプリが正常なレスポンスを返すことを確認します。
Cloud Monitoring にアクセスする方法は、次のとおりです。- Cloud Console で、Google Cloud プロジェクトを選択します。
Cloud コンソールに移動 - ナビゲーション パネルで [Monitoring] を選択します。
稼働時間チェックの作成
Cloud Console で、[Monitoring] に移動します。
ナビゲーション パネルで [Uptime Checks] をクリックし、[Create an Uptime Check] をクリックします。
チェックに
Check Hello World
などのタイトルを指定してから、[次へ] をクリックします。[ターゲット] セクションで、稼働時間チェックのモニタリング対象を指定します。
- App Engine にデプロイしたため、[Resource Type] を [URL] ではなく [App Engine] に変更します(URL は Compute Engine インスタンスでカスタム URL を生成するためのものです)。
- 稼働時間チェックでモニタリングする Service を選択します。
- [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 アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。
課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。
プロジェクトを削除する手順は次のとおりです。
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.