ヘルス ステータスをモニタリングする

Vertex AI Workbench インスタンスには、ノートブックの状態をモニタリングする方法がいくつか用意されています。このページでは、それぞれの方法について説明します。

ヘルス ステータスをモニタリングする方法

Vertex AI Workbench インスタンスの状態は、いくつかの方法でモニタリングできます。このページでは、次の方法について説明します。

始める前に

  1. 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.
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Notebooks API を有効にします。

    API を有効にする

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  8. Google Cloud プロジェクトで課金が有効になっていることを確認します

  9. Notebooks API を有効にします。

    API を有効にする

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

ゲスト属性を使用してシステムの状態を報告する

ゲスト属性を使用すると、次のコアサービスのシステム状態を報告できます。

  • Docker サービス
  • Docker リバース プロキシ エージェント
  • Jupyter サービス
  • Jupyter API

ゲスト属性は、Vertex AI Workbench インスタンスで実行中にアプリケーションから書き込み可能なカスタム メタデータです。ゲスト属性の詳細については、VM メタデータについてをご覧ください。

インスタンスがゲスト属性を使用してシステムの状態を報告する方法

notebooks-collection-agent サービスは、Python プロセスをバックグラウンドで実行します。ここでは、Vertex AI Workbench インスタンスのコアサービスのステータスを確認し、問題が検出されない場合は 1 として、または障害が検出された場合は -1 としてゲスト属性を更新します。

notebooks-collection-agent サービスを使用して、Vertex AI Workbench インスタンスの状態を報告するには、Vertex AI Workbench インスタンスを作成するときに、次のゲスト属性を有効にする必要があります。

  • enable-guest-attributes=TRUE: Vertex AI Workbench インスタンスでゲスト属性を有効にします。デフォルトでは、この属性はすべての新しいインスタンスで有効になります。
  • report-event-health=TRUE: ゲスト属性にシステムのヘルスチェックの結果が記録されます。

notebooks-collection-agent サービスには、インスタンスのゲスト属性を書き込むための特別な権限は必要ありません。

システム状態のゲスト属性を有効にして Vertex AI Workbench インスタンスを作成する

システム状態のゲスト属性を使用して、Vertex AI Workbench インスタンスの状態に関するレポートを作成するには、Vertex AI Workbench インスタンスを作成するときに [システムのヘルスレポートを有効にする] チェックボックスをオンにする必要があります。

システムのヘルスレポートを有効にするには、Google Cloud コンソールを使用します。

  1. Google Cloud コンソールで、[インスタンス] ページに移動します。

    [インスタンス] に移動

  2. [新規作成] をクリックします。

  3. [新しいインスタンス] ダイアログで、[詳細オプション] をクリックします。

  4. [インスタンスを作成] ダイアログの [詳細] セクションで、新しいインスタンスについて次の情報を入力します。

    • 名前: 新しいインスタンスの名前を入力します。
    • リージョンゾーン: 新しいインスタンスのリージョンとゾーンを選択します。最適なネットワーク パフォーマンスを得るには、地理的に最も近いリージョンを選択してください。
  5. [システムの状態] セクションの [レポート] で、[システムの状態を報告] を選択します。

  6. インスタンス作成ダイアログの残りの部分に入力して、[作成] をクリックします。

ゲスト属性を使用してシステムの状態をモニタリングする

関連するゲスト属性が有効になっている Vertex AI Workbench インスタンスの場合、Google Cloud コンソール、Compute Engine コマンドを使用する Google Cloud CLI、または Vertex AI Workbench コマンドを使用する Google Cloud CLI を使用して、システム状態のゲスト属性の値を取得できます。

コンソール

  1. Google Cloud コンソールで、[インスタンス] ページに移動します。

    [インスタンス] に移動

  2. システムヘルス ステータスを表示するインスタンス名をクリックします。

  3. [インスタンスの詳細] ページで、[健全性] タブをクリックします。インスタンスとそのコアサービスのステータスを確認します。

Compute Engine での gcloud

gcloud compute instances get-guest-attributes INSTANCE_NAME \
    --zone ZONE

次のように置き換えます。

  • INSTANCE_NAME: インスタンスの名前
  • ZONE: インスタンスが配置されているゾーン

コアサービスが正常な状態であれば、次のような結果になります。値 1 は、障害が検出されなかったことを意味します。

 NAMESPACE   KEY                         VALUE
 notebooks   docker_proxy_agent_status   1
 notebooks   docker_status               1
 notebooks   jupyterlab_api_status       1
 notebooks   jupyterlab_status           1
 notebooks   system-health               1
 notebooks   updated                     2023-06-20 17:00:00.12345

4 つのコアサービスのいずれかで障害が発生した場合、system-health はシステム障害を表す -1 値を返します。ほとんどの場合、システム障害は JupyterLab にアクセスできないことを意味します。

障害がある場合、次のような結果になります。

 NAMESPACE   KEY                         VALUE
 notebooks   docker_proxy_agent_status   -1
 notebooks   docker_status               -1
 notebooks   jupyterlab_api_status       1
 notebooks   jupyterlab_status           1
 notebooks   system-health               -1
 notebooks   updated                     2023-06-20 17:00:00.12345

カスタム指標を Monitoring に報告する

Vertex AI Workbench インスタンスを使用すると、システム ステータスと JupyterLab の指標を収集し、Cloud Monitoring に報告できます。これらのカスタム指標は、Vertex AI Workbench インスタンスに Monitoring をインストールするときに報告される標準指標とは異なります。

Monitoring に報告されるカスタム指標は次のとおりです。

  • 以下の Vertex AI Workbench コアサービスのシステム状態:

    • Docker サービス
    • Docker リバース プロキシ エージェント
    • Jupyter サービス
    • Jupyter API
  • 次の JupyterLab 指標:

    • カーネルの数
    • ターミナルの数
    • 接続の数
    • セッションの数
    • 最大メモリ
    • ハイメモリ
    • 現在のメモリ

インスタンスが Monitoring にカスタム指標を報告する方法

Monitoring にカスタム指標を報告するには、Vertex AI Workbench インスタンスの作成中に report-notebook-metrics メタデータ設定を有効にする必要があります。

また、Vertex AI Workbench インスタンスのサービス アカウントに、モニタリング指標の書き込み(roles/monitoring.metricWriter)権限が付与されていることを確認する必要もあります。詳細については、プロジェクト、フォルダ、組織へのアクセスの管理をご覧ください。

Monitoring にカスタム指標を報告する Vertex AI Workbench インスタンスを作成する

Monitoring にカスタム指標を報告するには、Vertex AI Workbench インスタンスを作成するときに、[Cloud Monitoring にカスタム指標を報告する] チェックボックスをオンにする必要があります。

Cloud Monitoring へのカスタム指標の報告を有効にするには、Google Cloud コンソールを使用します。

  1. Google Cloud コンソールで、[インスタンス] ページに移動します。

    [インスタンス] に移動

  2. [新規作成] をクリックします。

  3. [新しいインスタンス] ダイアログで、[詳細オプション] をクリックします。

  4. [インスタンスを作成] ダイアログの [詳細] セクションで、新しいインスタンスについて次の情報を入力します。

    • 名前: 新しいインスタンスの名前を入力します。
    • リージョンゾーン: 新しいインスタンスのリージョンとゾーンを選択します。最適なネットワーク パフォーマンスを得るには、地理的に最も近いリージョンを選択してください。
  5. [システムの状態] セクションの [レポート] で、[Cloud Monitoring にカスタム指標を報告する] を選択します。

  6. インスタンス作成ダイアログの残りの部分に入力して、[作成] をクリックします。

モニタリング指標の書き込み権限をサービス アカウントに付与する

新しい Vertex AI Workbench インスタンスを作成したら、Vertex AI Workbench インスタンスのサービス アカウントにモニタリング指標の書き込み権限(roles/monitoring.metricWriter)を付与します。詳細については、プロジェクト、フォルダ、組織へのアクセスの管理をご覧ください。

Monitoring を使用してカスタム指標をモニタリングする

Vertex AI Workbench インスタンスでカスタム指標の報告が有効になっている場合は、Google Cloud コンソールを使用してカスタム指標をモニタリングできます。

  1. Google Cloud コンソールで、[インスタンス] ページに移動します。

    [インスタンス] に移動

  2. カスタム指標を表示するインスタンス名をクリックします。

  3. [インスタンスの詳細] ページで、[モニタリング] タブをクリックします。インスタンスのカスタム指標を確認します。

インスタンスに Monitoring をインストールする

このオプションを使用すると、Monitoring が自動的にインストールされます。インストールには 256 MB のディスク容量が必要です。指標を Monitoring に報告するには、インターネット接続が必要です。

インスタンスによるシステム指標とアプリケーション指標の報告方法

Vertex AI Workbench インスタンスに Cloud Monitoring をインストールしてシステム指標とアプリケーション指標を報告するには、Vertex AI Workbench インスタンスを作成するときに、[Cloud Monitoring エージェントをインストールする] をオンにする必要があります。これらの指標は、report-notebook-metrics メタデータ設定が有効になっているときに報告されるカスタム指標とは異なります。

システム指標とアプリケーションの指標を Monitoring に報告する Vertex AI Workbench インスタンスを作成する

Vertex AI Workbench インスタンスに Monitoring をインストールするには、Google Cloud コンソールを使用します。

  1. Google Cloud コンソールで、[インスタンス] ページに移動します。

    [インスタンス] に移動

  2. [新規作成] をクリックします。

  3. [新しいインスタンス] ダイアログで、[詳細オプション] をクリックします。

  4. [インスタンスを作成] ダイアログの [詳細] セクションで、新しいインスタンスについて次の情報を入力します。

    • 名前: 新しいインスタンスの名前を入力します。
    • リージョンゾーン: 新しいインスタンスのリージョンとゾーンを選択します。最適なネットワーク パフォーマンスを得るには、地理的に最も近いリージョンを選択してください。
  5. [システムの状態] セクションの [レポート] で、[Cloud Monitoring をインストールする] を選択します。

  6. インスタンス作成ダイアログの残りの部分に入力して、[作成] をクリックします。

Monitoring を使用してシステムとアプリケーションの指標をモニタリングする

Vertex AI Workbench インスタンスに Monitoring がインストールされている場合は、Google Cloud コンソールを使用して、システムとアプリケーションの指標をモニタリングできます。

  1. Google Cloud コンソールで、[インスタンス] ページに移動します。

    [インスタンス] に移動

  2. システムとアプリケーションの指標を表示するインスタンス名をクリックします。

  3. [インスタンスの詳細] ページで、[モニタリング] タブをクリックします。インスタンスのシステム指標とアプリケーション指標を確認します。これらの指標の解釈方法については、リソース指標を確認するをご覧ください。

診断ツールを使用してシステムの状態をモニタリングする

Vertex AI Workbench インスタンスには、インスタンスのシステム状態のモニタリングに役立つ診断ツールが組み込まれています。

診断ツールで実行されるタスク

この診断ツールは次のタスクを行います。

  • 次の Vertex AI Workbench コアサービスのステータスを確認します。

    • Docker サービス
    • Docker リバース プロキシ エージェント
    • Jupyter サービス
    • Jupyter API
  • ブートディスクとデータディスクのディスク使用量が 85% のしきい値を超えているかどうかを確認します。

  • lsof をインストールします(インターネット接続が必要)。

  • 次のインスタンス ログを収集します。

    • ネットワーク情報(ifconfignetstat
    • /var/log/ フォルダ内のログ
    • Docker のステータス情報
    • lsof(開いているファイル)のデータ
    • Docker サービスのステータス
    • プロキシ リバース エージェントのステータス
    • Jupyter サービスのステータス
    • Jupyter API のステータス
    • プロキシ エージェント構成ファイル
    • Python プロセス
  • 次のコマンドを実行して、結果を収集します。

    • pip freeze
    • conda list
    • gcloud compute instances describe INSTANCE_NAME
    • gcloud config list

診断ツールを実行する

診断ツールの実行手順は次のとおりです。

  1. SSH を使用して Vertex AI Workbench インスタンスに接続します

  2. SSH ターミナルで、次のコマンドを実行します。

    sudo -i
    cd /opt/deeplearning/bin/
    ./diagnostic_tool.sh
    

    診断ツールがログを収集し、.tar.gz ファイルに圧縮して、/tmp/ フォルダに配置します。

  3. ファイルを展開して、内容を評価します。次の内容が含まれます。

    • log フォルダ: var/log/ フォルダのログ
    • report.log: 収集されたすべてのコマンドの出力
    • proxy-agent-config.json: プロキシ構成情報
    • Docker ログ: Docker コンテナログを含む -json.log ファイル

診断ツールには以下のオプションがあります。

オプション 説明
-r 失敗した Vertex AI Workbench コアサービスのステータスを復元する修復オプション
-s 確認なしで実行
-b .tar.gz ファイルを Cloud Storage バケットにアップロードします。
-v 障害発生時にツールのトラブルシューティングに使用するデバッグ オプション
-c SSH をフィルタリングして、30 秒のパケット トラフィックを Vertex AI Workbench インスタンスにキャプチャします
-d ログの保存先フォルダ
-h ヘルプ

次のステップ