チェックポイント
Deploy application
/ 50
Create a Log bucket
/ 25
create the log sink
/ 25
Google Cloud のログ分析
GSP1088
概要
このラボでは、アプリケーションの分析情報を取得するために Cloud Logging で提供されている機能とツールについて学びます。
学習内容
- Cloud Logging を効果的に使用して、GKE で動作しているアプリケーションに関する分析情報を取得する方法
- ログ分析を使用してクエリを効果的に作成および実行する方法
ラボで使用されているデモ アプリケーション
具体例を示すために、GKE クラスタにデプロイされているこのマイクロサービス デモ サンプルアプリに基づいたシナリオを使用します。このデモアプリには、さまざまなマイクロサービスと、その依存関係が含まれています。
設定と要件
[ラボを開始] ボタンをクリックする前に
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
- ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
ラボを開始して Google Cloud コンソールにログインする方法
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。
- [Google Cloud コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。 -
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}} [ラボの詳細] パネルでも [ユーザー名] を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}} [ラボの詳細] パネルでも [パスワード] を確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。 -
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell をアクティブにする
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
- Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
- (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
-
[承認] をクリックします。
-
出力は次のようになります。
出力:
- (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
出力:
出力例:
gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
タスク 1. インフラストラクチャ設定
GKE クラスタを確認する
Google Kubernetes Engine クラスタに接続し、そのクラスタが正しく作成されていることを確認します。
1. Cloud Shell で、gcloud
のゾーンを設定します。
- 次のコマンドを使用して、クラスタのステータスを表示します。
次のようなステータスが表示されます。
クラスタのステータスは「RUNNING」です。まだ「PROVISIONING」の場合は、少し待ってから上記のコマンドを再び実行します。ステータスが「RUNNING」になるまでこれを繰り返してください。
Cloud コンソールのナビゲーション メニュー > [Kubernetes Engine] > [クラスタ] で、進行状況を確認することもできます。
- クラスタのステータスが「RUNNING」になったら、クラスタの認証情報を取得します。
(出力)
- ノードが作成されていることを確認します。
出力は次のようになります。
タスク 2. アプリケーションのデプロイ
次に、Online Boutique というマイクロサービス アプリケーションをクラスタにデプロイし、モニタリング可能な実際のワークロードを作成します。
- 次のコマンドを実行してリポジトリのクローンを作成します。
-
microservices-demo
ディレクトリに移動します。
-
kubectl
を使用してアプリをインストールします。
- すべてが正しく動作していることを確認します。
次のような出力になっている必要があります。次のステップに進む前に、すべての Pod が「Running」のステータスになるまでコマンドを再実行してください。
- 次を実行して、アプリケーションの外部 IP を取得します。IP アドレスは、サービスがデプロイされると返されます。そのため、外部 IP アドレスが割り当てられるまでこのコマンドを繰り返さなくてはならない場合があります。
(出力例)
- 最後に、アプリが起動して稼働していることを確認します。
確認結果は次のようになります。
アプリケーションがデプロイされたら、Cloud コンソールに移動してステータスを表示することもできます。
- [Kubernetes Engine] > [ワークロード] ページに、すべての Pod に問題がないことが表示されます。
- 次に [Services と Ingress] をクリックして、すべてのサービスに問題がないことを確認します。
アプリケーションを開く
[Services と Ingress] で、サービス frontend-external のエンドポイント IP をクリックします。
アプリケーションが開いて、次のようなページが表示されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
タスク 4. ログバケットの管理
ログ分析を有効にする方法は 2 つあります。一つは既存のバケットをアップグレードする方法で、もう一つはログ分析を有効にした新しいログバケットを作成する方法です。
既存のバケットをアップグレードする
既存のログバケットをアップグレードするには、以下の手順を行います。
-
左側のメニューで [ロギング] を開き、[ログストレージ] をクリックします。
-
既存のバケット(
_Default
バケットなど)の [UPGRADE] をクリックします。
-
ポップアップ ウィンドウで、[アップグレード] をクリックします。
-
アップグレードが完了するまで待ちます。最初にステータスが [アップグレード対象外です] に変更されてから、[アップグレード済み] ステータスが表示されます。
-
[開く] プルダウン ボタンをクリックします。
-
ビュー
_AllLogs
を選択すると、[Log Analytics] ページが開きます。
新しいログバケットを作成する
別の方法として、ログ分析を有効にした新しいログバケットを作成するように Cloud Logging を構成することもできます。
-
左側のメニューで [ロギング] を開き、[ログストレージ] をクリックします。
-
上部にある [ログバケットを作成] をクリックします。
-
バケットに対して「day2ops-log」のような名前を入力します。
-
[Upgrade to use Log Analytics] と [このバケットにリンクする新しい BigQuery データセットを作成する] の両方をオンにします。
-
「day2ops_log」のようなデータセット名を入力します。
[このバケットにリンクする新しい BigQuery データセットを作成する] を選択すると、BigQuery でデータセットが作成されます(存在しない場合)。これにより、必要に応じて BigQuery でクエリを実行できます。
- 最後に、[バケットを作成] をクリックしてログバケットを作成します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
新しいログバケットに書き込む
新しいログバケットを使用するためにログシンクを作成できます。これは [ログルーター] から直接行うことができます。また、[ログ エクスプローラ] からも簡単に作成できます。ログクエリを実行して目的のログを選択およびフィルタし、シンクを作成することができます。このアプローチの長所は、ログクエリがシンクの構成にフィルタとして自動的にコピーされることです。
- [ログ エクスプローラ] の右上で [クエリを表示] を有効にして、クエリ フィールドで次のクエリを実行します。
- [シンクの作成] をクリックします。
-
シンク名として「day2ops-sink」のような名前を入力します。
-
[次へ] をクリックします。
-
シンクサービスのプルダウン リストで [Logging バケット] を選択します。
-
先ほど作成した新しいログバケットを選択します。
-
[次へ] をクリックします。
フィルタにはすでにリソースタイプのクエリが表示されています。
- [シンクを作成] をクリックします。
少し待つとシンクが作成されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
新しいログバケットから読み取る
ログ エクスプローラに戻ります。以下のスクリーンショットでハイライト表示されているように、ログにはさまざまなリソースタイプがあります。
-
新しいログバケット内のログを表示するには、ページ上部にある [範囲を絞り込む] をクリックします。
-
[ストレージによるスコープ] を選択し、先ほど作成した新しいログバケットを選択します。
-
[適用] をクリックします。
リソースタイプとして Kubernetes コンテナのみが表示され、ログエントリが大幅に少なくなっています。これは、フィルタされたログのみがバケットに送信されるためです。
タスク 5. ログの分析
- 左側の [ロギング] で [ログ分析] をクリックしてログ分析機能にアクセスします。次のような画面が表示されます。
クエリ フィールドが空の場合、または使用するテーブルを忘れた場合は、[Query] ボタンをクリックしてサンプルクエリを再表示できます。
これで、クエリ フィールドで独自のクエリを実行できるようになりました。以下に、いくつかの例を示します。
重要: FROM
句のログビュー名は、ログバケットによって異なります。正しいビュー名を使用していることを確認する必要があります。確認するには、前の手順を使用します。
最新のエラーを見つけるには:
最新のエラーをコンテナから見つけます。
クエリを実行すると、次のような出力が表示されます。
最小、最大、平均のレイテンシを見つけるには:
フロントエンド サービスの期間における最小、最大、平均のレイテンシを表示できます。
クエリを実行すると、次のような出力が表示されます。
プロダクト ページのアクセス数
ユーザーが過去 1 時間に特定のプロダクト ページにアクセスした回数を調べます。
クエリを実行すると、次のような出力が表示されます。
ショッピング カートで購入手続きが行われたセッション
次のクエリを実行して、購入手続き(/cart/checkout サービスに対する POST 呼び出し)が行われたセッションの数を表示できます。
クエリを実行すると、次のような出力が表示されます。
お疲れさまでした
Cloud Logging を使用して GKE で動作しているアプリケーションに関する分析情報を取得し、ログ分析を使用してクエリを作成および実行しました。
Google Cloud トレーニングと認定資格
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2022 年 9 月 26 日
ラボの最終テスト日: 2022 年 9 月 26 日
Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。