监控健康状况

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. To initialize the gcloud CLI, run the following command:

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

    Go to project selector

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

  9. Enable the Notebooks API.

    Enable the 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 实例上运行时可写入的特定类型的自定义元数据。如需详细了解客机属性,请参阅虚拟机元数据简介

实例如何使用客机属性报告系统健康状况

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 控制台、Google Cloud CLI 和 Compute Engine 命令,或 Google Cloud CLI 和 Vertex AI Workbench 命令来检索系统健康状况客机属性的值。

控制台

  1. 在 Google Cloud 控制台中,进入实例页面。

    转到实例

  2. 点击要查看其系统健康状况的实例名称。

  3. 实例详情页面上,点击健康状况标签页。查看实例及其核心服务的状态。

gcloud 和 Compute Engine

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 反向代理代理
    • Jupyter 服务
    • Jupyter API
  • 以下 JupyterLab 指标:

    • 内核数量
    • 终端数量
    • 连接数量
    • 会话数量
    • 最高内存使用量
    • 高内存
    • 当前内存量

实例如何向 Monitoring 报告自定义指标

要向 Monitoring 报告自定义指标,您必须在创建 Vertex AI Workbench 实例时启用 report-notebook-metrics 元数据设置

您还必须确保 Vertex AI Workbench 实例的服务账号具有 Monitoring Metric Writer (roles/monitoring.metricWriter) 权限。如需了解详情,请参阅管理对项目、文件夹和组织的访问权限

创建向 Monitoring 报告自定义指标的 Vertex AI Workbench 实例

如需向 Monitoring 报告自定义指标,您必须在创建 Vertex AI Workbench 实例时选中向 Cloud Monitoring 报告自定义指标复选框。

您可以使用 Google Cloud 控制台启用向 Cloud Monitoring 报告自定义指标的功能。

  1. 在 Google Cloud 控制台中,进入实例页面。

    转到实例

  2. 点击  新建

  3. 新建实例对话框中,点击高级选项

  4. 创建实例对话框的详细信息部分中,为新实例提供以下信息:

    • 名称:为新实例提供名称。
    • 区域可用区:为新实例选择区域和可用区。为获得最佳网络性能,请选择与您的地理位置最近的区域。
  5. 系统健康状况部分的报告中,选择向 Cloud Monitoring 报告自定义指标

  6. 完成实例创建对话框的其余部分,然后点击创建

向服务账号授予 Monitoring Metric Writer 权限

创建新的 Vertex AI Workbench 实例后,向 Vertex AI Workbench 实例的服务账号授予 Monitoring Metric Writer 权限 (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 监控系统和应用指标

对于已安装 Monitoring 的 Vertex AI Workbench 实例,您可以使用 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 将 30 秒的数据包流量捕获到 Vertex AI Workbench 实例中,并过滤 SSH
-d 用于保存日志的目标文件夹
-h 帮助

后续步骤