你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

收集重要的虚拟机 (VM) 控制台数据

本文提供了有关如何收集必要数据来诊断 VM 控制台相关问题的通用指南。

完成相关过程的先决条件

若要通过 ssh 连接到虚拟机,必须:

  • 已创建 Private endpoint,用于连接到群集管理器的 Private link service
  • 拥有具有给定名称的虚拟机实例
  • 已创建与虚拟机同名的对应控制台

数据收集

VM 控制台服务团队排除故障所需的数据

如果需要 VM 控制台服务团队进一步调查相关问题,请收集以下信息,帮助其开始调查:

  • 问题及其对最终用户的影响的详细说明。
  • 屏幕截图。 Azure 门户显然是视觉组件。 请尝试获取尽可能多的视觉数据来描述所发生的问题。 屏幕截图通常是展示问题或重现问题的最好方法。
  • 专用终结点 IP
  • 专用终结点连接
  • 收集控制台数据

确定专用终结点连接方式

  1. 导航到 Azure 门户的客户工作环境所在地。
  2. 选择专用终结点资源,便于通过 ssh 连接到虚拟机 显示位于资源组的专用终结点屏幕截图。
  3. 在“专用终结点”屏幕中,选择 Private link resource显示指向专用链接资源的链接屏幕截图。
  4. 捕获 Private link resource 屏幕的屏幕截图。
  5. 由于客户在尝试通过 ssh 连接到虚拟机时可能会使用错误的 PLE,因此与客户确认 Private endpoint 是否引用了正确的 Private Link Service

确定专用终结点 IP 地址

  1. 导航到 Azure 门户的客户工作环境所在地。
  2. 选择专用终结点资源,便于通过 ssh 连接到虚拟机 显示指向专用链接资源(用于专用终结点)的链接屏幕截图。
  3. 在“专用终结点”屏幕中,选择 Network interface显示专用终结点网络接口详细信息的屏幕截图。
  4. 在该屏幕中,可以找到 Private IPv4 address,例如 10.1.0.5显示专用 IPV4 地址详细信息的屏幕截图。
  5. 与客户确认 ssh 命令中的 IP 地址,例如 ssh -p 2222 <virtual machine access id>@10.1.0.5

检索专用终结点 IP 地址的另一种方法是使用 Azure CLI,如下所示。

ple_interface_ids=$(az network private-endpoint list --resource-group <ple resource group> --query "[].networkInterfaces[0].id" -o tsv)

for ple_interface_id in $ple_interface_ids; do
    ple_name=$(echo $ple_interface_id | awk -F/ '{print $NF}'| awk -F. '{print $1}')
    export sshmux_ple_ip=$(az network nic show --ids $ple_interface_id --query 'ipConfigurations[0].privateIPAddress' -o tsv)
    echo "ple name: ${ple_name}, ple ip: ${sshmux_ple_ip}"
done

如果使用脚本选项,请询问客户使用了哪个专用终结点 IP 地址。

收集控制台数据

  1. 导航到 Azure 门户的群集管理器所在位置。
  2. 选择 Extended ___location 查看其扩展位置。 显示群集管理器的扩展位置屏幕截图。
  3. 选择相关的控制台资源。 显示控制台资源链接的屏幕截图。
  4. 收集要调查的控制台资源对应的数据。
    • 控制台 Enabled
    • 控制台 Expiration
    • 控制台 Ssh public key
    • 控制台 Virtual machine access ID显示控制台资源的屏幕截图。

如果无法访问 Azure 门户,还可以使用 az networkcloud virtualmachine console show 命令检索控制台数据。

az networkcloud virtualmachine console show \
    --resource-group "${TARGET_RESOURCE_GROUP}" \
    --virtual-machine-name "${VM_NAME}"

其中:

  • TARGET_RESOURCE_GROUP 是在其中创建客户虚拟机的资源组
  • VM_NAME 是客户的虚拟机名称