arrow_back

Cloud Functions のモニタリングとロギング

ログイン 参加
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

Cloud Functions のモニタリングとロギング

ラボ 45分 universal_currency_alt クレジット: 1 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

GSP092

Google Cloud セルフペース ラボ

概要

このラボでは、Google Cloud コンソールで Cloud Monitoring を使用して、Cloud Functions の詳細を確認します。Cloud Functions の詳細には、実行時間と回数、メモリ使用量が含まれます。

目標

このラボでは、次のタスクの実行方法について学びます。

  • Cloud Functions の関数を作成する
  • Cloud Functions の関数に関するログベースの指標を作成する
  • Metrics Explorer を使用して Cloud Functions の関数のデータを確認する
  • Monitoring の [概要] ウィンドウでグラフを作成する

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
  • ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。

    ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] パネルでも [ユーザー名] を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] パネルでも [パスワード] を確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックします。ナビゲーション メニュー アイコン

Cloud Shell をアクティブにする

Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

  2. 出力は次のようになります。

出力:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = <project_ID>

出力例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

タスク 1. Cloud Monitoring で Cloud Functions のログと指標を表示する

ログとアラートを収集するには、モニタリングの対象が必要です。このセクションでは、Hello World と表示する Cloud Functions の関数を作成します。

  1. Cloud コンソールで、ナビゲーション メニューナビゲーション メニュー アイコン)> [すべてのプロダクトを表示] > [Cloud Functions] > [ファンクションを作成] の順に選択します。

  2. 以下のとおりに設定します。

  • 関数名: helloWorld
  • リージョン:
  • トリガーのタイプ: HTTP
  • 認証: [未承認の呼び出しを許可する] の横にあるチェックボックスをオンにします
  1. [保存] をクリックします。

  2. [ランタイム、ビルド、接続、セキュリティの設定] を開きます。[自動スケーリング] の [インスタンスの最大数] を 5 に設定します。

  3. [次へ] をクリックします。

  4. [デプロイ] をクリックします。

関数が自動的にデプロイを実行し、[Cloud Functions] ページに記載されます。これには数分かかります。関数名の横に緑色のチェックマークが付いているのを確認できたら、関数の作成は完了です。

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが付与されます。

Cloud Functions の関数を作成する
  1. Cloud Shell で次のコマンドを実行し、Cloud Functions の関数にテスト トラフィックを送信できる vegeta というツールを入手します。
curl -LO 'https://github.com/tsenart/vegeta/releases/download/v6.3.0/vegeta-v6.3.0-linux-386.tar.gz'
  1. 次のコマンドを使用して、vegeta ツールを展開します。
tar xvzf vegeta-v6.3.0-linux-386.tar.gz
  1. 引き続き [Cloud Functions] ページで、関数の名前をクリックし、[トリガー] タブをクリックします。関数のトリガー URL をクリックします。

新しく開いたブラウザのタブに Hello World! と表示されたら、関数は正常に動作しています。

  1. 次に、Cloud Functions の関数にトラフィックを送信します。Cloud Shell で次のコマンドを実行します。
echo "GET https://{{{ project_0.default_region }}}-{{{ project_0.project_id }}}.cloudfunctions.net/helloWorld" | ./vegeta attack -duration=300s > results.bin

タスク 2. ログベースの指標を作成する

次に、正規表現を使用してログエントリの textPayload フィールドからレイテンシの値を抽出する、分布タイプのログベースの指標を作成します。

  1. コンソールで、[ナビゲーション メニュー] > [すべてのプロダクトを表示] > [ロギング] > [ログ エクスプローラ] の順に選択します。コンソールで Cloud Logging が開きます。

  2. 目的の関数のログを確認するには、[リソース] プルダウンで [Cloud Functions] > [helloWorld] の順に選択して [適用] をクリックします。[ログ名] プルダウンで [cloud-functions] チェックボックスをオンにし、[適用] をクリックします。

  3. [クエリを実行] をクリックします。

  4. [指標を作成] をクリックします。

  5. [ログベースの指標の作成] フォームで、以下を行います。

  • [指標タイプ] を [Distribution] に設定します。
  • [ログベースの指標の名前] に「CloudFunctionLatency-Logs」と入力します。
  • [フィールド名] に「textPayload」と入力します。
  • [正規表現] フィールドに、次のように入力します。
execution took (\d+)

ログベースの指標は次のようになります。

ログ指標作成ページ

  1. [指標を作成] をクリックします。

これで、ユーザー定義の指標が [ログベースの指標] ページに追加され、表示されます。

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが付与されます。

ログベースの指標を作成する

タスク 3. Metrics Explorer

次に、Metrics Explorer を使用して、Cloud Functions の関数のデータを確認します。

Monitoring の指標スコープを作成する

Google Cloud プロジェクトに関連付けられた Monitoring の指標スコープを設定します。次の手順に沿って、Monitoring を無料でお試しいただける新しいアカウントを作成します。

  • Cloud コンソール で、ナビゲーション メニューナビゲーション メニュー アイコン) > [Monitoring] をクリックします。

Monitoring の [概要] ページが開いたら、指標スコープのプロジェクトの準備は完了です。

  1. 左側のメニューで [Metrics Explorer] をクリックします。

  2. [指標] > [指標を選択] プルダウンで「executions」と入力し、[Cloud Function] > [Function] > 指標の候補の [Executions] を選択して、[適用] をクリックします。

  3. 右上にある [ウィジェット タイプ] プルダウン メニューを [Stacked bar chart] に変更します。

  4. 他の指標とグラフ オプションも試してみましょう。たとえば、現在の [Cloud Functions - Executions] 指標をクリックしてプルダウンを開き、[Execution times] を選択して、ウィジェット タイプを [Heatmap] に変更します。

  5. 他にもいろいろと試してみましょう。たとえば、指標を [Executions] に戻して、グループ化関数を [95 パーセンタイル] に変更します。[Line chart] ウィジェット タイプを選択します。

タスク 4. Monitoring の [概要] ウィンドウでグラフを作成する

Monitoring の [概要] ウィンドウでグラフを作成すると、自分にとって重要な指標を簡単に追跡できます。このセクションでは、前のセクションで作成したのと同じグラフを設定します。ただし、ここでは作成したグラフが Monitoring の [概要] ウィンドウに保存されます。

  1. 左側のメニューで、[ダッシュボード] をクリックします。

  2. [+ Create Dashboard] をクリックします。

  3. [+ ウィジェットを追加] をクリックします。

  4. [Visualization] で、[積み上げ棒] を選択します。

  5. [指標] > [指標を選択] プルダウンで、デフォルトの [VM Instance] > [Cpu] > [CPU utilization] 指標を選択し、プルダウンを開いて指標を変更します。[適用] をクリックします。

: プルダウンに [VM Instance] が表示されない場合は、[Active] チェックボックスをオフにしてください。
  1. [指標] プルダウンに「executions」と入力し、[Cloud Function] > [Function] > 指標の候補の [Executions] を選択して、[適用] をクリックします。

  2. 右上にある [適用] をクリックします。

  3. 最初のグラフを作成したら、[+ ウィジェットを追加] > [ヒートマップ] をクリックして、次のグラフを作成します。

  4. [指標] > [指標を選択] プルダウンで、デフォルトの [VM Instance] > [Vm_flow] > [RTT latencies] 指標を選択し、プルダウンを開いて指標を変更します。[適用] をクリックします。

: プルダウンに [VM Instance] が表示されない場合は、[Active] チェックボックスをオフにしてください。
  1. [指標] プルダウンに「execution times」と入力し、[Cloud Function] > [Function] > 指標の候補の [Execution times] を選択して、[適用] をクリックします。

  2. 右上にある [適用] をクリックします。

デフォルトでは使用している指標の名前がグラフ名になりますが、変更することもできます。

これらのグラフを見るには、[Monitoring] ページの左側のパネルにある [ダッシュボード] をクリックすると、簡単に確認できます。

タスク 5. 理解度チェック

今回のラボで学習した内容の理解を深めていただくため、以下の多肢選択式問題を用意しました。正解を目指して頑張ってください。

お疲れさまでした

これで完了です。このラボでは、Cloud Functions の関数の作成、ログベースの指標の作成、Metrics Explorer の使用、Monitoring の [概要] ウィンドウでのグラフの作成を行いました。

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2024 年 5 月 23 日

ラボの最終テスト日: 2024 年 5 月 23 日

Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします