arrow_back

Cloud Logging と Cloud Monitoring を構成、使用する

ログイン 参加
知識をテストして、コミュニティで共有しましょう

Cloud Logging と Cloud Monitoring を構成、使用する

ラボ 1時間 15分 universal_currency_alt クレジット: 5 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
知識をテストして、コミュニティで共有しましょう

概要

このラボでは、Cloud LoggingCloud Monitoring の一般的な構成と使用方法について学習します。

フィルタを使ってログを表示する方法や、BigQuery シンクにログをエクスポートする方法、ロギング指標を作成する方法を学びます。また、Cloud Monitoring を使って使用状況の指標を表示する方法やダッシュボードを作成する方法も学びます。

目標

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

  • さまざまなメカニズムのフィルタを使用してログを表示する。
  • ログエントリを除外し、ログ取り込みを無効にする。
  • ログをエクスポートし、エクスポートしたログでレポートを生成する。
  • ロギング指標を作成し、レポートを生成する。
  • Cloud Monitoring を使用してさまざまな Google Cloud プロジェクトをモニタリングする。
  • 指標のダッシュボードを作成する。

設定と要件

各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。

  1. Qwiklabs にシークレット ウィンドウでログインします。

  2. ラボのアクセス時間(例: 1:15:00)に注意し、時間内に完了できるようにしてください。
    一時停止機能はありません。必要な場合はやり直せますが、最初からになります。

  3. 準備ができたら、[ラボを開始] をクリックします。

  4. ラボの認証情報(ユーザー名パスワード)をメモしておきます。この情報は、Google Cloud Console にログインする際に使用します。

  5. [Google Console を開く] をクリックします。

  6. [別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
    他の認証情報を使用すると、エラーが発生したり、料金の請求が発生したりします。

  7. 利用規約に同意し、再設定用のリソースページをスキップします。

Google Cloud Shell の有効化

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

Google Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールで、右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。

  2. [続行] をクリックします。

環境がプロビジョニングされ、接続されるまでしばらく待ちます。接続した時点で認証が完了しており、プロジェクトに各自のプロジェクト ID が設定されます。次に例を示します。

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

  • 次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list

出力:

Credentialed accounts: - @.com (active)

出力例:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • 次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project =

出力例:

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

タスク 1. 1 つ目のプロジェクトでログを表示、フィルタする

このタスクでは、シンプルなフィルタで VM インスタンスのログを表示します。

ログの書き込みを行っているサービスを確認する

  1. Google Cloud コンソールのホームページを開いていることを確認します。

  2. プロジェクト 1 で作業していることを確認します。コンソールの情報パネルのプロジェクト ID が、ラボの接続の詳細パネルの [プロジェクト ID 1] と一致している必要があります。

  3. ナビゲーション メニュー > [ロギング] > [ログ エクスプローラ] を選択して、Cloud Logging を表示します。プロンプトが表示されたら、通知を閉じます。

  4. 左側のパネルに [ログのフィールド] が表示されます。[リソースの種類] に、ログを作成している Google Cloud サービスがいくつか表示されます。

ここに表示されているサービスはすべてログエントリの書き込みを行っています。これらのログエントリがすべて右側の [クエリ結果] ペインに表示されます。クエリを使って、特定のログや、特定の基準を満たすログの結果を取得することもできます。

シンプルなフィルタで VM インスタンスのログを確認する

  1. [ログのフィールド] パネルの [リソースの種類] で、[VM インスタンス] をクリックします。

クリックすると、次のようになります。

  • [ログのフィールド] パネルの内容が変わります。[インスタンス ID] という名前の新しいフィールドが表示されます。このフィールドには、ログエントリを書きこんでいる VM インスタンスの ID がすべて表示されます。
  • ページの上部にある [クエリ] ボックスには resource.type="gce_instance" が入力されています。これは、VM インスタンスのエントリだけがログに記録されて表示されるという意味です。
  • [クエリ結果] ペインも自動的に更新されます(VM インスタンスのログエントリだけが表示されます)。
  1. [インスタンス ID] フィールドでインスタンス ID の 1 つを選択します。関連付けられた VM インスタンスのログが [クエリ結果] ペインに表示されます。

  2. [クエリ] ボックスの内部をクリックします。これで編集できるようになります。

  3. [クエリ] ボックスで、1 行目以外をすべて削除します。これで、resource.type="gce_instance" を含む 1 行目だけが表示された状態になります。

  4. 右上にある [クエリを実行] をクリックします。[クエリ結果] にすべての VM インスタンスのログエントリが表示されます。

  5. ログパネルが以前の状態に戻ります。

  1. [ログをストリーム](右上にある [クエリを実行] ボタンの上)をクリックして、ログのストリーミングを有効にします。

  2. バックグラウンド アクティビティでウェブサーバーに対して不正なリクエストが生成されるのに応じて、1~2 秒ごとに新しいログエントリが表示されます。

注: 停止している場合は、[ストリーミングを再開] をクリックしてください。

これで、Linux Apache サーバー上の全体的なウェブ アクティビティを表示できるようになります。

  1. 右上にある [ストリームを停止] をクリックして、ログのストリーミングを停止します。

  2. 次に、[すべてのログ名] プルダウンをクリックし、[syslog] を選択してから、[適用] をクリックします。

[クエリ結果] ペインに syslog のエントリが表示されます。

注: ログエントリの表示内容は、ログの重大度や時間帯を選択することによってもコントロールできます。

タスク 2. ログのエクスポートを使用する

このタスクでは、BigQuery へのログのエクスポートを構成し、テストします。

Cloud Logging では、ログエントリが 30 日間保持されます。多くの場合、一部のログエントリの保持期間を延長する必要が生じます(さらにアーカイブされたログから高度なレポートを作成する必要が生じる場合もあります)。

Google Cloud が提供するメカニズムによって、Cloud Monitoring に取り込まれたすべてのログエントリを、複数のアーカイブ用シンクにも書き込むことができます。

BigQuery へのエクスポートを構成する

  1. Cloud Logging のエクスポート用ページに移動します(ナビゲーション メニュー > [ロギング] > [ログルーター])。

  2. [シンクを作成] をクリックします。

  3. [シンク名] に「vm_logs」と入力し、[次へ] をクリックします。

  4. [シンクサービスの選択] で [BigQuery データセット] を選択します。

  5. [BigQuery データセットを選択] で [新しい BigQuery データセットを作成する] を選択します。

  6. [データセット ID] に「project_logs」と入力し、[データセットを作成] をクリックします。

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

  8. resource.type="gce_instance" をコピーして、[包含フィルタの作成] リストボックスに貼り付けます。

  9. [シンクを作成] をクリックします。ログルーターの [ログシンクの次のステップを作成] ページが再び表示されます(上部に「ログシンクを作成しました。データはすぐに利用可能になります。」というメッセージが表示される場合があります)。

注: Pub/Sub や Cloud Storage にログエントリをエクスポートすることもできます。

Pub/Sub へのエクスポートは、データベースに保存する前に ETL プロセスを実施する場合に便利です(Monitoring > Pub/Sub > Dataflow > BigQuery/Bigtable の順に処理)。

Cloud Storage にエクスポートする場合は、約 1 時間ごとにエントリがまとめて Cloud Storage オブジェクト内に書き込まれます。

BigQuery への HTTP ロード バランシングのエクスポートを構成する

次に、BigQuery への HTTP ロード バランシングのログのエクスポートを作成します。

  1. 左側のナビゲーション メニューで [ログルーター] を選択してサービスのホームページに戻ります。

  2. [シンクを作成] をクリックします。

  3. [シンク名] に「load_bal_logs」と入力し、[次へ] をクリックします。

  4. [シンクサービスの選択] で [BigQuery データセット] を選択します。

  5. [BigQuery データセットを選択] で [project_logs] を選択します(これは先ほど実施したステップで作成した BigQuery データセットです)。

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

  7. resource.type="http_load_balancer" をコピーして、[包含フィルタの作成] リストボックスに貼り付けます。

  8. [シンクを作成] をクリックします。

  9. ログシンクの [ログシンクの次のステップを作成] ページが表示されます。

  10. 左側のナビゲーション メニューで [ログルーター] を選択してサービスのホームページに戻ります。

[ログルーター] ページが表示され、先ほど作成したシンク(load_bal_logs)を含む、シンクのリストが表示されます。

エクスポートされたログエントリを調査する

  1. BigQuery を開きます(ナビゲーション メニュー > [BigQuery])。

  2. [Cloud コンソールの BigQuery へようこそ] メッセージ ボックスが開きます。このメッセージ ボックスにはクイックスタート ガイドへのリンクと、UI の更新情報が表示されます。

  3. [完了] をクリックします。

  4. [エクスプローラ] セクションの左側のペインで、プロジェクト(qwiklabs-gcp-xxx で始まるもの)の横にある矢印をクリックします。これにより、プロジェクトの下に project_logs データセットが表示されます。

次に、エクスポート時の書き込みでログエントリを保存できるように、BigQuery データセットに適切な権限が付与されていることを確認します。

  1. project_logs データセットの横のその他メニュー(「アクションを表示」)をクリックし、[開く] をクリックします。

  2. コンソールの右上にある [共有] プルダウンをクリックし、[権限] を選択します。

  3. データセットの権限のページで、サービス アカウントに BigQuery データ編集者のロールが付与されていることを確認します。

  4. データセットの権限のパネルを閉じます。

  5. project_logs データセットを開き、エクスポートされたログのテーブルを確認します。テーブルは複数(エントリを受け取っているログの種類ごとに 1 つずつ)あります。

  6. syslog_(1) テーブルをクリックし、[詳細] をクリックして行数とその他のメタデータを確認します。syslog_(1) テーブルが表示されていない場合は、ブラウザを更新してみてください。

  7. [詳細] タブの [テーブル情報] にある [テーブル ID] に、完全なテーブル名が表示されます。このテーブル名をコピーします。

注: ログエントリは、Cloud Monitoring での受信時に BigQuery にストリーミングされるため、BigQuery のストリーミング バッファに保存されます。バッファに格納されてから約 24 時間後に通常の BigQuery ストレージに移動されます。テーブルに対してクエリを実行すると、通常のストレージのデータとバッファの両方がスキャンされます。
  1. テーブル フィールドのサブセットを確認するには、クエリエディタのタブに次のクエリを貼り付けます(qwiklabs-gcp-xx.project_logs.syslog_xxxxx を、前のステップでコピーしたテーブル名に置き換えます)。
SELECT logName, resource.type, resource.labels.zone, resource.labels.project_id, FROM `qwiklabs-gcp-xx.project_logs.syslog_xxxxx`
  1. [実行] をクリックします。

任意のクエリを実行して、さまざまな分析情報を取得してみてください。

注: Cloud Logging では、ロギング ストレージへのエントリの取り込みに関する決定が行われる前に、受け取ったログエントリがエクスポートされます。そのため、シンクには新しいログエントリのみがエクスポートされます。その結果、エクスポート前に syslog エントリがすべて生成され、syslog_(1) テーブルが表示されない可能性があります。

次のようなコマンドを使用すると、Cloud Logging にすでに取り込まれているログエントリを抽出できます。

gcloud logging read "resource.type=gce_instance AND logName=projects/[PROJECT_ID]/logs/syslog AND textPayload:SyncAddress" --limit 10 --format json
注: これで、プロジェクト内のすべてのサービスで生成されるすべてのログエントリのエクスポートを設定しました。集約されたエクスポートを作成することもできます。その場合、複数のプロジェクトで生成されたログエントリを、請求先アカウント、フォルダ、組織ごとにグループ化してエクスポートできます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 BigQuery へのエクスポートを構成する

タスク 3. ロギング指標を作成する

このタスクでは、「アクセス拒否」のログエントリが生成されるウェブ リクエストが過剰に発生した場合のアラート生成に使用できる指標を作成します。

Cloud Monitoring では、特定のログエントリを受け取った場合にカスタム指標を作成できます。

  1. [ログ エクスプローラ] ページに戻ります(ナビゲーション メニュー > [ロギング] > [ログ エクスプローラ])。
注: 保存されていない作業に関するプロンプトが表示されたら、[終了] をクリックします。
  1. (コンソールの右側にある)[アクション] プルダウンから [指標を作成] を選択し、このフィルタに基づくロギング指標を作成します。

  2. ログベースの指標エディタで、[指標タイプ] を [カウンタ] に設定します。

  3. [詳細] セクションで、[ログベースの指標の名前] に「403s」と入力します。

  4. [フィルタの選択] の [フィルタの作成] に、次のコマンドを入力します。PROJECT_ID は [プロジェクト ID 1] のプロジェクト ID に置き換えます。

resource.type="gce_instance" log_name="projects/PROJECT_ID/logs/syslog"
  1. その他の項目はすべてデフォルトのままにします。

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

  3. この指標は、このラボでダッシュボード作成の際に使用します。

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

タスク 4. モニタリング ダッシュボードを作成する

このタスクでは、Qwiklabs で作成した 2 つ目のプロジェクトに切り替え、Monitoring ワークスペースをセットアップします。

プロジェクトを切り替える

  1. Qwiklabs で作成されている 2 つ目のプロジェクトに切り替えます(Qwiklabs の [接続の詳細] にある [プロジェクト ID 2] のプロジェクトを使用します)。コンソールの上部に現在のプロジェクト ID が表示されます。

  1. Cloud コンソールの上部にあるプロジェクト名をクリックし、[すべて] タブをクリックします。

  1. 切り替え先となる 2 つ目のプロジェクトをクリックします。Qwiklabs の [接続の詳細] にある [プロジェクト ID 2] のプロジェクトであることを確認します。

  2. [開く] をクリックします。

Monitoring ワークスペースを作成する

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

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

  2. ワークスペースがプロビジョニングされるまで待ちます。

Monitoring ダッシュボードが開いたら、ワークスペースの準備は完了です。

Cloud Monitoring ワークスペースに 1 つ目のプロジェクトを追加します。

  1. 左側のメニューで [設定]、[指標スコープ]、[+ プロジェクトを追加] の順にクリックします。

  2. [プロジェクトを選択] をクリックします。

  3. 1 つ目のプロジェクト ID の横にあるチェックマークをオンにしてから、[選択] をクリックします。

  4. [プロジェクトを追加] をクリックします。

モニタリング ダッシュボードを作成する

  1. 左側のペインで [ダッシュボード] をクリックします。

  2. [+ カスタム ダッシュボードを作成します] をクリックします。

  3. 上部の一般的なダッシュボード名を「Example Dashboard」に置き換えます。

  4. [ウィジェットを追加] をクリックし、[折れ線] グラフをクリックします。

  5. [ウィジェットのタイトル] として「CPU Usage」と入力します。

  6. [指標を選択] プルダウンをクリックします。

  7. [有効] をクリックして選択を解除します。ティックが表示されなくなったことを確認します。

  8. [指標] として、[VM インスタンス] > [インスタンス] > [CPU 使用率] の順に選択します。compute.googleapis.com/instance/cpu/usage_time の形式であることを確認します。

  9. [適用] をクリックします。

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

  11. [ウィジェットを追加] をクリックし、[折れ線] グラフをクリックします。

  12. [ウィジェットのタイトル] として「Memory Utilization」と入力します。

  13. [指標を選択] プルダウンをクリックします。

  14. [有効] をクリックして選択を解除します。ティックが表示されなくなったことを確認します。

  15. [指標] として、[VM インスタンス] > [メモリ] > [メモリ使用率] を選択します。agent.googleapis.com/memory/percent_used の形式であることを確認します。

  16. [適用] をクリックします。

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

これで、2 つのグラフが表示されるようになりました。一つは CPU 使用率のグラフで、もう一つはメモリ使用率のグラフです。

これで、グラフでフィルタ、グループ化、集計などのオプションを編集できるようになりました。

お疲れさまでした

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

  1. さまざまなメカニズムのフィルタを使用してログを表示する。

  2. ログエントリを除外し、ログ取り込みを無効にする。

  3. ログをエクスポートし、エクスポートしたログでレポートを生成する。

  4. ロギング指標を作成し、レポートを生成する。

  5. Cloud Monitoring を使用してさまざまな Google Cloud プロジェクトをモニタリングする。

  6. 指標のダッシュボードを作成する。

ラボを終了する

ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。

ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。

星の数は、それぞれ次の評価を表します。

  • 星 1 つ = 非常に不満
  • 星 2 つ = 不満
  • 星 3 つ = どちらともいえない
  • 星 4 つ = 満足
  • 星 5 つ = 非常に満足

フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。

フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。

Copyright 2025 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

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

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

ありがとうございます。

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

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.