監控健康狀態

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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. Install the Google Cloud CLI.

  6. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  9. Make sure that billing is enabled for your Google Cloud project.

  10. Enable the Notebooks API.

    Enable the API

  11. Install the Google Cloud CLI.

  12. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  13. To initialize the gcloud CLI, run the following command:

    gcloud init
  14. 使用訪客屬性回報系統健康狀態

    您可以使用訪客屬性回報下列核心服務的系統健康狀態:

    • Docker 服務
    • Docker 反向 Proxy 代理程式
    • 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 控制台的「Instances」(執行個體) 頁面

      前往「Instances」(執行個體) 頁面

    2. 按一下「建立新標籤」

    3. 在「New instance」對話方塊中,按一下「Advanced options」

    4. 在「建立執行個體」對話方塊的「詳細資料」部分,為新執行個體提供下列資訊:

      • 名稱:為新執行個體命名。
      • 「Region」(地區)和「Zone」(區域):選取新執行個體的地區和區域。如要獲得最佳網路效能,請選取最靠近您的地理區域。
    5. 在「系統健康狀態」部分的「回報」中,選取「回報系統健康狀態」

    6. 完成執行個體建立對話方塊的其餘部分,然後按一下「建立」

    透過訪客屬性監控系統健康狀態

    如果 Vertex AI Workbench 執行個體已啟用相關的客層屬性,您可以使用 Google Cloud 控制台、Google Cloud CLI (搭配 Compute Engine 指令),或 Google Cloud CLI (搭配 Vertex AI Workbench 指令),擷取系統健康狀態客層屬性的值。

    主控台

    1. 前往 Google Cloud 控制台的「Instances」(執行個體) 頁面

      前往「Instances」(執行個體) 頁面

    2. 按一下要查看系統健康狀態的執行個體名稱。

    3. 在「Instance details」(執行個體詳細資料) 頁面上,按一下「健康狀態」分頁標籤。查看執行個體及其核心服務的狀態。

    搭配 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
    

    如果四項核心服務有任何一項失敗,系統健康狀態會回報 -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 反向 Proxy 代理程式
      • Jupyter 服務
      • Jupyter API
    • 下列 JupyterLab 指標:

      • 核心數
      • 終端機數量
      • 連線數量
      • 工作階段數量
      • 最大記憶體
      • 高記憶體
      • 目前的記憶體容量

    執行個體如何向 Monitoring 回報自訂指標

    如要向 Monitoring 服務回報自訂指標,您必須在建立 Vertex AI Workbench 執行個體時,啟用 report-notebook-metrics 中繼資料設定。

    此外,請務必確認 Vertex AI Workbench 執行個體的服務帳戶具備「監控指標寫入者」(roles/monitoring.metricWriter) 權限。詳情請參閱「管理專案、資料夾和機構的存取權」。

    建立 Vertex AI Workbench 執行個體,向 Monitoring 服務回報自訂指標

    如要向 Monitoring 回報自訂指標,您必須在建立 Vertex AI Workbench 執行個體時,選取「向 Cloud Monitoring 回報自訂指標」核取方塊。

    您可以使用 Google Cloud 控制台,啟用向 Cloud Monitoring 回報自訂指標的功能。

    1. 前往 Google Cloud 控制台的「Instances」(執行個體) 頁面

      前往「Instances」(執行個體) 頁面

    2. 按一下「建立新標籤」

    3. 在「New instance」對話方塊中,按一下「Advanced options」

    4. 在「建立執行個體」對話方塊的「詳細資料」部分,為新執行個體提供下列資訊:

      • 名稱:為新執行個體命名。
      • 「Region」(地區)和「Zone」(區域):選取新執行個體的地區和區域。如要獲得最佳網路效能,請選取最靠近您的地理區域。
    5. 在「系統健康狀態」部分的「回報」中,選取「向 Cloud Monitoring 回報自訂指標」

    6. 完成執行個體建立對話方塊的其餘部分,然後按一下「建立」

    將 Monitoring Metric Writer 權限授予服務帳戶

    建立新的 Vertex AI Workbench 執行個體後,請將 Monitoring Metric Writer 權限 (roles/monitoring.metricWriter) 授予 Vertex AI Workbench 執行個體的服務帳戶。詳情請參閱「管理專案、資料夾和機構的存取權」。

    透過 Monitoring 監控自訂指標

    如果 Vertex AI Workbench 執行個體已啟用回報自訂指標,您可以使用 Google Cloud 控制台監控自訂指標。

    1. 前往 Google Cloud 控制台的「Instances」(執行個體) 頁面

      前往「Instances」(執行個體) 頁面

    2. 按一下要查看自訂指標的執行個體名稱。

    3. 在「Instance details」(執行個體詳細資料) 頁面上,按一下「Monitoring」(監控) 分頁標籤。查看執行個體的自訂指標。

    在執行個體上安裝 Monitoring

    這個選項會自動安裝 Monitoring。 安裝時需要 256 MB 的磁碟空間。必須連上網際網路,指標才會回報給監控服務。

    執行個體如何回報系統和應用程式指標

    如要在 Vertex AI Workbench 執行個體上安裝 Cloud Monitoring,並回報系統和應用程式指標,您必須在建立 Vertex AI Workbench 執行個體時,選取「Install Cloud Monitoring agent」(安裝 Cloud Monitoring 代理程式) 核取方塊。這些指標與啟用 report-notebook-metrics 中繼資料設定時回報的自訂指標不同。

    建立 Vertex AI Workbench 執行個體,將系統和應用程式指標回報給 Monitoring

    如要在 Vertex AI Workbench 執行個體上安裝 Monitoring,可以使用 Google Cloud 控制台。

    1. 前往 Google Cloud 控制台的「Instances」(執行個體) 頁面

      前往「Instances」(執行個體) 頁面

    2. 按一下「建立新標籤」

    3. 在「New instance」對話方塊中,按一下「Advanced options」

    4. 在「建立執行個體」對話方塊的「詳細資料」部分,為新執行個體提供下列資訊:

      • 名稱:為新執行個體命名。
      • 「Region」(地區)和「Zone」(區域):選取新執行個體的地區和區域。如要獲得最佳網路效能,請選取最靠近您的地理區域。
    5. 在「系統健康狀態」部分的「報告」中,選取「安裝 Cloud Monitoring」

    6. 完成執行個體建立對話方塊的其餘部分,然後按一下「建立」

    透過 Monitoring 監控系統和應用程式指標

    如果 Vertex AI Workbench 執行個體已安裝 Monitoring,您可以使用 Google Cloud 控制台監控系統和應用程式指標:

    1. 前往 Google Cloud 控制台的「Instances」(執行個體) 頁面

      前往「Instances」(執行個體) 頁面

    2. 按一下要查看系統和應用程式指標的執行個體名稱。

    3. 在「Instance details」(執行個體詳細資料) 頁面上,按一下「Monitoring」(監控) 分頁標籤。查看執行個體的系統和應用程式指標。如要瞭解如何解讀這些指標,請參閱「查看資源指標」。

    使用診斷工具監控系統健康狀態

    Vertex AI Workbench 執行個體內建診斷工具,可協助您監控執行個體的系統健康狀態。

    診斷工具執行的工作

    診斷工具會執行下列工作:

    • 驗證下列 Vertex AI Workbench 核心服務的狀態:

      • Docker 服務
      • Docker 反向 Proxy 代理程式
      • Jupyter 服務
      • Jupyter API
    • 檢查開機和資料磁碟的磁碟空間使用率是否超過 85% 的門檻。

    • 安裝 lsof (必須連上網路)。

    • 收集下列執行個體記錄:

      • 網路資訊 (ifconfignetstat)
      • /var/log/」資料夾中的記錄
      • Docker 狀態資訊
      • lsof (開啟檔案) 資料
      • Docker 服務狀態
      • Proxy 反向代理程式狀態
      • Jupyter 服務狀態
      • Jupyter API 狀態
      • Proxy 代理程式設定檔
      • Python 程序
    • 執行下列指令並收集結果:

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

    執行診斷工具

    如果執行個體使用自訂容器,請參閱 Vertex AI Workbench 自訂容器說明文件中的「執行診斷工具」。

    如要在未使用自訂容器的執行個體中執行診斷工具,請完成下列步驟:

    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: Proxy 設定資訊
      • Docker 記錄檔:包含 Docker 容器記錄的 -json.log 檔案

    您可以在診斷工具中使用下列選項。

    選項 說明
    -r 啟用這個修復選項之後,如果 Vertex AI Workbench 核心服務處於失敗狀態,系統就會將其還原
    -s 不需確認即可執行
    -b .tar.gz 檔案上傳至 Cloud Storage bucket。
    -v 如果工具發生錯誤,可使用偵錯選項進行疑難排解
    -c 系統會篩選 SSH,並將 30 秒的封包流量擷取至 Vertex AI Workbench 執行個體
    -d 用來儲存記錄的目標資料夾
    -h 說明

    後續步驟