NVSM Call Home

NVIDIA 系统管理器 (NVSM) Call Home 在启用并连接到互联网时,为 NVSM 健康监控功能提供额外的自动化。用户无需联系 NVIDIA 企业支持来报告来自 NVSM 的关键警报、提交系统日志、nvsm dump 健康文件和 DGX 序列号以创建支持工单,NVSM Call Home 可以自动完成这些任务。这缩短了解决问题的整体周转时间。

NVSM Call Home 概述

当 NVSM 触发关键警报时,NVSM Call Home 执行以下操作

  • 主动将关键级别警报推送至 NVIDIA 企业服务。

  • 收集系统和 nvsm dump 以及系统序列号,并将它们上传到 NVIDIA 企业服务。

  • 在企业支持门户上创建支持案例。

NVSM Call Home 还会清除已解决的警报,并将更新后的状态推送至 NVIDIA 企业服务。

下图说明了 NVSM Call Home 功能的端到端流程。

_images/nvsm-call-home.png

当在 DGX 系统上启用 NVSM Call Home 并且触发关键警报时,DGX 系统上的 NVSM 守护程序会启动与安全的 NVIDIA 企业服务后端的 HTTPS 连接,并使用 RESTful 接口通信警报详细信息和日志。信息经过验证,然后在 NVIDIA 企业支持门户上创建一个新的支持工单。所有警报(包括警报的状态更改)的通信都通过 REST 调用进行。

NVSM Call Home 在三种不同的模式下运行。默认情况下未启用,因此要使用 NVSM Call Home,您必须启用以下模式之一

策略启用的“自动”模式

  • 此模式定期批量提交警报,然后将它们推送到 NVIDIA 企业支持门户。

  • 需要互联网连接。

  • 要启用,请执行

    $ sudo nvsm set /policy callhome_enable=true
    

有关详细信息以及自动模式的配置选项,请参阅 在自动模式下使用 NVSM Call Home 部分。

策略启用的离线模式

  • 此模式适用于访问互联网受限的气隙或高度安全的环境。

  • 警报和系统信息不会发送批量提交到 NVIDIA 企业支持,而是存储在本地系统上。用户需要手动向 NVIDIA 企业服务提供收集的信息,以创建支持案例。

  • 要启用,请执行

    $ sudo nvsm set /policy offline_callhome_enable=true
    

有关详细信息以及离线模式的配置选项,请参阅 使用 NVSM 离线 Call Home 部分。

按需模式

  • 此模式收集警报信息并动态地为企业支持门户创建提交。

  • 需要互联网连接。

  • 要按需启动 Call Home 提交,请执行

    $ sudo nvsm set /callhome trigger=true
    

有关详细信息以及按需模式的配置选项,请参阅 使用 NVSM 按需模式 部分。

使用 NVSM Call Home

NVSM Call Home 可以在两种模式下运行

  • 自动模式 - NVSM Call Home 定期自动运行。

  • 按需模式 - NVSM Call Home 序列手动启动。

您还可以设置 NVSM Call Home 以离线运行;例如,在气隙系统上。

在自动或按需模式下使用 NVSM Call Home 的先决条件

启用端口

由于 NVSM Call Home 与外部 NVIDIA 服务器通信,因此在运行 NVSM Call Home 之前,必须启用端口 443。

启用访问

您需要为 NVSM Call Home 注册您的系统,以便 NVIDIA 服务云识别该系统。请联系 NVIDIA 企业服务 以设置您的 DGX 系统的 NVIDIA Call Home。

验证 NVSM Call Home 就绪状态

在使用 NVSM Call Home 之前,请通过执行诊断测试来确保服务器已准备好支持 NVSM Call Home。该测试不会在 NVIDIA 企业服务处创建工单,但会测试系统是否能够与 NVIDIA 企业服务基础设施通信。

要运行诊断,请执行以下操作

$ sudo nvsm set /callhome trigger=true diagtest=true

注意

这使用了 NVIDIA Call Home 的按需模式,在 使用 NVSM 按需模式 部分中进行了更详细的解释。

要查看上次诊断测试运行的结果,请执行以下操作

$ sudo nvsm show /callhome

示例输出,确认设置已准备好进行 Call Home 操作。感兴趣的行以粗体标识。

/callhome
Properties:
    Trigger = False
    Op_Description = User initiated call home operation.
    Op_DiagTest = True
    Op_CaseId = none
    Op_State = Succeeded
    Op_StartTime = 2019-06-24T06:10:17Z
    Op_Message = Call Home operation Succeeded
    Op_Email =

如果输出报告错误或失败,请联系 NVIDIA 技术支持以获得帮助。

在自动模式下使用 NVSM Call Home

启用自动模式后,NVSM 会持续监控服务器并将关键或已清除的警报推送到 NVESC,并代表注册用户创建支持案例。

自动模式语法

要启用自动模式,请首先配置电子邮件联系人。

$ sudo nvsm set /policy callhome_email_contact=<email>

然后启用 Call Home。

$ sudo nvsm set /policy callhome_enable=true [callhome_batch_interval=<time-in-seconds>]

您还可以在同一命令中配置电子邮件联系人和启用 Call Home。

$ sudo nvsm set /policy callhome_email_contact=<email> callhome_enable=true [callhome_batch_interval=<time-in-seconds>]

自动模式配置参数

使用以下参数配置 NVSM Call Home

  • callhome_email_contact

    设置电子邮件 ID。这应该是 NVIDIA 企业支持门户的注册用户。该电子邮件将嵌入在 NVIDIA 企业支持门户中创建的案例/工单中。

  • callhome_batch_interval

    (可选)启用自动模式会定期批量提交警报,然后将它们推送到 NVIDIA 企业支持门户。在该时间范围内触发的任何警报都将发送(作为单独的支持案例)。默认情况下,间隔为 600 秒(10 分钟),但您可以使用此选项指定其他间隔(以秒为单位)。

自动模式示例

以下示例说明了如何使用这些参数。

$ sudo nvsm set /policy callhome_email_contact=123@example.com callhome_enable=true callhome_batch_interval=610

验证自动模式状态

要验证当前设置的状态,请执行以下操作。

$ sudo nvsm show /policy

示例输出

/policy
Properties:
   callhome_batch_interval = 610
   callhome_email_contact = 123@example.com
   callhome_enable = True
   email_recipients =
   email_sender =
   email_smtp_server_name =
   email_smtp_server_port = 0

callhome_enable = True 表示已启用 Call Home 自动模式。

禁用自动模式

Call Home 自动模式将开始侦听警报并在后台提出支持案例。如果存在任何维护活动(例如重新拔插或更换组件)会导致 NVSM 生成关键警报,则 Call Home 也会提出支持案例。

为了避免在计划内的维护活动期间提出支持案例,请通过执行以下操作禁用 call-home。

$ sudo nvsm set /policy callhome_enable=false

使用 NVSM 按需模式

NVSM Call Home 按需模式是用户触发的 call-home 操作。按需触发 Call Home 会在 NVIDIA 企业支持门户上创建一个支持案例,其中包含捕获的系统 dump(“nvsm dump health”)。无论是否启用自动模式,都可以使用 NVSM Call Home 按需模式。

按需模式语法

要按需触发 NVSM Call Home 序列,请执行以下操作。

# sudo nvsm set /callhome trigger=true [description="<description>"] [email=<email>]

要取消正在进行的按需 Call Home,请执行以下操作。

# sudo nvsm set /callhome trigger=false

有关可选参数的说明,请参阅下一节。

按需模式配置选项

您可以使用以下参数配置按需触发的 NVSM Call Home

  • email

    此选项设置电子邮件 ID。该电子邮件将嵌入在 NVIDIA 企业支持门户中创建的案例/工单中。

  • description

    此选项允许您描述触发按需 Call Home 的目的或详细信息。

    描述性字符串的示例

    “Testing”

    "系统 性能 低, 执行 nvidia-smi 命令需要 几分钟。"

按需示例

以下示例说明了如何使用这些可选参数。

# sudo nvsm set /callhome trigger=true description="testing" email=123@example.com

验证按需状态

要检查按需启动的 Call Home 序列的状态,请执行以下操作。

# sudo nvsm show /callhome

以下示例输出显示了 Call Home 序列的进度。

/callhome
Properties:
   Trigger = True
   Op_Description = testing
   Op_CaseId = none
   Op_State = Running
   Op_StartTime = 2019-06-12T08:28:45Z
   Op_Message = Collecting logs
   Op_Email = 123@example.com

以下示例输出显示在 NVIDIA 企业支持门户中创建了案例 ID。

/callhome
Properties:
   Trigger = False
   Op_Description = testing
   Op_CaseId = 0001XXX
   Op_State = Succeeded
   Op_StartTime = 2019-06-12T08:28:45Z
   Op_Message = Call Home operation Succeeded
   Op_Email = 123@example.com

Trigger = False 表示按需序列未运行 - 在这种情况下是因为它已完成。

使用 NVSM 离线 Call Home

为了支持安装在访问互联网受限的气隙或高度安全环境中的 DGX 系统,NVSM Call Home 可以以离线模式(离线 Call Home)运行。与标准 Call Home 一样,离线 Call Home 软件主动监控 DGX 系统的健康状况并自动

  • 收集系统 dump 和日志,以及

  • 收集警报和系统信息。

但是,NVSM 离线 Call Home 不会将信息发送到 NVIDIA 企业服务,而是将信息存储在 DGX 系统上用户指定的目录中。此外,与标准 Call Home 不同,离线 Call Home 仅在自动模式下运行;离线 Call Home 中没有按需模式。

先决条件

离线 Call Home 和标准 Call Home 不能同时启用。为了确保未启用标准自动模式 Call Home,请在启用离线 Call Home 之前执行以下操作。

$ sudo nvsm set /policy callhome_enable=false

启用离线 Call Home

与标准 Call Home 一样,使用 nvsm set /policy 命令启用离线 Call Home。

$ sudo nvsm set /policy offline_callhome_enable=true \
offline_callhome_dump_destination_location=<path/to/location> \
offline_callhome_batch_interval=<batch-interval> \
offline_callhome_no_of_dumps_allowed=<number>

离线 Call Home 配置选项

  • offline_callhome_dump_destination_location

    默认情况下,离线 Call Home 将系统日志存储在 /var/log/nvsm_offline_callhome。您可以使用此选项设置不同的位置。

  • offline_callhome_batch_interval

    启用离线 Call Home 会定期创建一批警报,然后将它们推送到本地存储。默认情况下,间隔为 600 秒(10 分钟),但您可以使用此选项指定其他间隔(以秒为单位)。

  • offline_callhome_no_of_dumps_allowed

    默认情况下,NVSM 离线 Call Home 将存储 9999999 个不同的日志文件,但您可以指定一个较小的数字,以便根据需要分配空间。

启用离线 Call Home 的示例

以下示例说明了如何使用这些参数。

$ sudo nvsm set /policy \
offlinecallhome_enable=true \
offline_callhome_dump_destination_location=/tmp/offline_callhome_dump \
callhome_batch_interval=610 \
offline_callhome_no_of_dumps_allowed=10

验证离线 Call Home 配置

要验证当前设置的状态,请执行以下操作。

$ sudo nvsm show /policy

示例输出,显示离线 Call Home 策略详细信息。

/policy
Properties:
    offline_callhome_batch_interval = 610
    offline_callhome_enable = True
    offline_callhome_dump_destination_location = /tmp/offline_callhome_dump
    offline_callhome_no_of_dumps_allowed = 10

验证 Dump 文件内容

每个批次的内容都存储在一个 tar 文件中。

  • Tar 文件命名格式

    offlinecallhome-nvsm-health_<时间戳>_<序列号>.tar.xz

  • tar 文件内容 -

    • 系统 dump

    • 列出系统和关键警报的 JSON 元数据文件。

      JSON 文件命名格式

      offlinecallhome_notifications_<时间戳>_<主机名>_<序列号>.json

  • JSON 文件格式,显示包含的数据类型

    {
        "system_serial": "<serial number>",
        "system_name": "<hostname>",
        "notifications": [
            {
                "alert_id": "",
                "clear_time": "-",
                "component_id": "",
                "description": "",
                "event_time": "",
                "message": "",
                "message_details": ".",
                "recommended_action": "",
                "severity": "",
                "system_name": "",
                "system_serial": "",
                "type": ""
            }
        ]
    }