arrow_back

ログベースの指標に基づくアラートの作成

参加 ログイン
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

ログベースの指標に基づくアラートの作成

Lab 1時間 30分 universal_currency_alt クレジット: 1 show_chart 入門
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP091

Google Cloud セルフペース ラボ

概要

ログベースの指標は、ログエントリの内容に基づく Cloud Monitoring の指標です。この指標はトレンドの特定やログからの数値の抽出に役立つほか、特定のイベントの指標を作成して、そのログエントリの発生時にトリガーされるアラートを設定することもできます。Cloud Monitoring では、システム定義のログベースの指標とユーザー定義のログベースの指標を使用して、グラフとアラート ポリシーを作成できます。

ログベースの指標のインターフェースは、2 つの指標タイプ(システム定義の指標とユーザー定義の指標)のペインに分かれて表示されます。

システム定義のログベースの指標: Cloud Logging が提供しているもので、すべての Google Cloud プロジェクトで使用できます。Cloud Logging が取り込んだログのみから計算されます。取り込み対象から明示的に除外されているログは、これらの指標には含まれません。

ユーザー定義のログベースの指標: Google Cloud プロジェクト内のデータを追跡するためにユーザーが作成するものです。たとえば、特定のフィルタに一致するログエントリの数をカウントするログベースの指標を作成できます。

指標からアラートを作成することで、ログベースの指標に基づくアラート ポリシーを作成できます。

目標

このラボでは、次の方法について学びます。

  • ログベースのアラートの作成
  • システム定義のログベースの指標の作成
  • ユーザー定義のログベースの指標の作成
  • ユーザー定義のログベースの指標に基づくアラートの作成

設定と要件

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

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

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

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

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

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

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

    • [Google コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

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

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

  4. [ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。

    重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  5. その後次のように進みます。

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

その後このタブで Cloud Console が開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、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 の概要ガイドをご覧ください。

このラボの開始時に、仮想マシンが自動的に作成されています。ラボを開始したページに、ラボが実行中であることを示す青信号が表示されているのを確認してから、先に進んでください。

また、Google Kubernetes Engine クラスタに接続し、クラスタが正しく作成されていることを確認してください。

  1. gcloud でゾーンを設定します。
gcloud config set compute/zone us-east1-c
  1. 次に、Cloud Shell を承認します。

  2. プロジェクト ID を設定します。

export PROJECT_ID=$(gcloud info --format='value(config.project)')
  1. GKE 標準クラスタをデプロイします。GKE API を承認して有効化するよう求められます。
gcloud container clusters create gmp-cluster --num-nodes=1 --zone us-east1-c

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。GKE クラスタをデプロイする

タスク 1. ログベースのアラート

ログベースのアラートを使用すると、ログに特定のメッセージが出力されるたびに通知できます。VM が停止した場合に通知するようにログベースのアラートを設定してみましょう。

  1. Cloud Console の検索バーに「logs explorer」と入力し、結果に表示される [Logs Explorer] をクリックします。

  2. [クエリを表示] スライドバーをクリックします。

  3. 以下のパラメータを入力してログベースのアラートを作成します。

resource.type="gce_instance" protoPayload.methodName="v1.compute.instances.stop"
  1. [アラートを作成] をクリックします。

  2. 以下の各パラメータを追加します。次のパラメータに移動するには [次へ] をクリックします。

  • Alert Policy Name: stopped vm
  • Choose logs to include in the alert: 入力したクエリが自動で入力されます。
  • Set notification frequency and autoclose duration: [通知の間隔] を 5 分、[インシデントの自動クローズ期間] を 1 時間にします。[次へ] をクリックします。

Who should be notified?(省略可):

  • [通知チャンネル] の横にあるプルダウン矢印をクリックし、[通知チャンネルを管理] をクリックします。
  • [通知チャンネル] ページが新しいタブで開きます。
  • ページを下方向にスクロールし、[Email] で [ADD NEW] をクリックします。
  • 個人メールアドレスを [Email Address] に入力し、表示名を [Display Name] に入力します。
  • [Save] をクリックします。
  • 完了したら、先ほど開いていたログ エクスプローラのタブに戻ります。
  • 通知チャンネルを更新してから、作成したチャンネルを選択します。[OK] をクリックします。
  1. [保存] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。ログベースのアラートを作成する

ここでは、VM を停止させます。

  1. 2 つ目の Cloud Console のタブで、ナビゲーション メニュー > [Compute Engine] > [VM インスタンス] に移動します。

  2. instance1 の横のボックスをオンにして、ページ上部の [停止] をクリックし、ポップアップ ウィンドウでもう一度 [停止] をクリックします。インスタンスが停止すると、緑のチェックマークがグレーの円に変わります。

  3. 検索バーに「monitoring」と入力し、[Monitoring] を選択します。

  4. [アラート] タブをクリックします。アラートが登録されているのを確認できます。[アラート ポリシー] で [すべてのポリシーを見る] をクリックすると、作成したログベースのアラートが表示されます。

タスク 2. ログベースの指標

ログベースの指標を使用すると、ログ内のエラーを追跡する指標を定義できます。この指標を活用して、類似の問題や現象が発生したときに、エンドユーザーが気付く前に事前に対応できます。

  1. ラボの最初に、GKE の標準クラスタをデプロイしました。以下のコマンドを実行して、gmp-cluster という名前のクラスタが作成されていることを確認します。
gcloud container clusters list クラスタのステータスが「PROVISIONING」の場合は、少し待ってから上記のコマンドを再び実行します。ステータスが「RUNNING」になるまでこれを繰り返してください。
  1. クラスタを認証します。
gcloud container clusters get-credentials gmp-cluster

次のメッセージが表示されます。

Fetching cluster endpoint and auth data. kubeconfig entry generated for gmp-cluster.
  1. 作業を行う Namespace を作成します。
kubectl create ns gmp-test
  1. 以下のコマンドを実行して、/metrics エンドポイントに指標を出力するシンプルなアプリケーションをデプロイします。
kubectl -n gmp-test apply -f https://storage.googleapis.com/spls/gsp091/gmp_flask_deployment.yaml kubectl -n gmp-test apply -f https://storage.googleapis.com/spls/gsp091/gmp_flask_service.yaml
  1. Namespace の準備ができて指標が出力されていることを確認します。
kubectl get services -n gmp-test

次の結果が表示されます。

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello LoadBalancer 10.0.12.114 34.83.91.157 80:32058/TCP 71s

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。指標を出力するシンプルなアプリケーションをデプロイする

  1. External-IP のアドレスが入力されるまでコマンドを再実行します。

  2. 次のコマンドを実行して、Python Flask アプリが指標を出力していることを確認します。

curl $(kubectl get services -n gmp-test -o jsonpath='{.items[*].status.loadBalancer.ingress[0].ip}')/metrics

次の結果が表示されます。

# HELP flask_exporter_info Multiprocess metric # TYPE flask_exporter_info gauge flask_exporter_info{version="0.18.5"} 1.0

タスク 3. ログベースの指標の作成

  1. [ログ エクスプローラ] に戻ります。

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

  3. [ログの指標の作成] ページで、以下の各情報を入力します。

  • 指標タイプ: デフォルト設定である [Counter] のままにします。
  • ログベースの指標の名前: hello-app-error
  • フィルタの選択: [フィルタの作成] に以下の情報を入力します。
severity=ERROR resource.labels.container_name="hello-app" textPayload: "ERROR: 404 Error page not found"
  1. [指標を作成] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。ログベースの指標を作成する

タスク 4. 指標に基づくアラートを作成する

  1. [ロギング] ウィンドウの左側のペインで、[ログベースの指標] を選択します。次に、[ユーザー定義の指標] で、指標の横にある縦に 3 つ並んだ点をクリックし、[指標に基づいて通知を作成する] を選択します。

  2. [Select a Metric] で、指標パラメータが自動的に入力されます。

  • ローリング ウィンドウを [2 minutes] に更新します。
  • その他はデフォルト設定のままにします
  • [次へ] をクリックします。
  1. 通知を設定する必要があります。このラボで先ほど作成したチャンネルは自由に再利用できます。

  2. アラート ポリシーを「log based metric alert」という名前にします。

  3. [ポリシーを作成] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。指標に基づくアラートを作成する

タスク 5. エラーの生成

次に、作成したログベースの指標に合致するエラーを生成し、指標に基づくアラートをトリガーします。

  1. Cloud Shell で、以下のコマンドを実行してエラーを生成します。
timeout 120 bash -c -- 'while true; do curl $(kubectl get services -n gmp-test -o jsonpath='{.items[*].status.loadBalancer.ingress[0].ip}')/error; sleep $((RANDOM % 4)) ; done'
  1. [ログ エクスプローラ] ページに戻り、左下の [Severity] に移動します。[エラー] をクリックします。ここで、「404 Error page not found」エラーを探すことができます。404 エラー メッセージの 1 つを開いて、詳細な情報を表示します。

  2. [Monitoring] ページに戻り、[アラート] をクリックします。作成した 2 つのポリシーが表示されます。

  3. [Alert policies] をクリックすると、[Incidents] に両方のアラートが表示されます。インシデントをクリックして詳細を確認します。

注: ログベースの指標のアラートは、最終的には自動的に解決されるようになります。調査の時間がもっと必要な場合は、エラーを生成するスクリプトを再度実行し、アラートがもう一度トリガーされるのを待ちます。[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 エラーを生成する

お疲れさまでした

これで完了です。このラボでは、ログベースのアラート、システム定義のログベースの指標、ユーザー定義のログベースの指標、指標に基づくアラートを作成しました。また、アラートをトリガーするためにエラーを生成しました。最後に、インシデントとアラートの詳細を確認する方法について学習しました。

次のステップと詳細情報

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

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

マニュアルの最終更新日: 2024 年 1 月 31 日

ラボの最終テスト日: 2023 年 8 月 7 日

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