诊断日志收集

你可以共享由 Azure Stack Hub 创建的诊断日志。 Windows 组件和本地 Azure 服务创建这些日志。 Microsoft 支持部门可以使用日志来修复或识别 Azure Stack Hub 实例的问题。

若要开始使用 Azure Stack Hub 诊断日志收集,必须注册实例。 如果尚未注册 Azure Stack Hub,请使用特权终结点 (PEP) 来共享日志。

可以通过多种方式将诊断日志发送到 Microsoft 支持部门。 根据与 Azure 的连接,选项包括:

以下流程图显示了用于发送诊断日志的选项。 如果 Azure Stack Hub 连接到 Azure,请启用“主动日志收集”。 主动日志收集在引发关键警报时自动将诊断日志上传到 Microsoft 中由 Azure 控制的存储 blob。 还可使用“立即发送日志”按需收集日志。 对于在断开连接的环境中运行的 Azure Stack Hub,或者如果遇到连接问题,请选择“在本地保存日志”。

流程图,显示如何将日志立即发送到 Microsoft

主动发送日志

在你建立支持案例之前,主动收集日志功能会自动从 Azure Stack Hub 收集诊断日志并将其发送给 Microsoft。 仅当引发系统运行状况警报时,才会收集这些日志。 Microsoft 支持部门仅在支持案例的上下文中访问这些日志。

从 Azure Stack Hub 版本 2008 开始,主动日志收集使用改进的算法来捕获日志,即使在操作员不可见的错误条件下也是如此。 此改进有助于确保在正确的时间收集正确的诊断信息,而无需任何操作员交互。 在某些情况下,Microsoft 支持部门可以更快地开始故障排除工作并解决问题。 初始算法改进侧重于修补升级操作。

当事件触发这些警报时,Azure Stack Hub 会主动将日志发送到 Microsoft。 此外,Azure Stack Hub 将由其他故障事件触发的日志发送到 Microsoft。 这些事件对操作员不可见.

强烈建议启用主动日志收集。 它使得产品团队能够诊断失败事件导致的问题并提高产品的质量。

注意

如果已启用主动日志收集,并且续订或更改 Azure Stack Hub 注册(如 续订或更改注册中所述),则必须重新启用主动日志收集。

Azure Stack Hub 将主动收集以下方面的日志:

警报 错误 ID 类型
更新需要谨慎操作 Urp.UpdateWarning
更新失败 Urp.UpdateFailure
警报 错误 ID 类型
表服务器数据损坏 StorageService.Table.server.data.corruption-Critical
无法访问节点以供虚拟机放置 AzureStack.ComputeController.HostUnresponsive
Blob 服务数据已损坏 StorageService.Blob.service.data.is.corrupted-Critical
帐户和容器服务数据损坏 StorageService.Account.and.Container.Service.data.corruption-Critical

从 Azure Stack Hub 版本 2108 开始,如果禁用了主动日志收集,则会在本地捕获并存储日志,以用于主动故障事件。 Microsoft 仅在支持案例的上下文中访问本地日志。

随时可以禁用和重新启用主动日志收集。 按照以下步骤设置主动收集日志功能。

  1. 登录到 Azure Stack Hub 管理员门户。
  2. 打开“帮助 + 支持概述”。
  3. 如果出现横幅,请选择“启用主动收集日志功能”。 也可以选择“设置”,将“主动收集日志”设置为“启用”,然后选择“保存” 。

注意

如果为本地文件共享配置了日志位置设置,请确保生命周期管理策略会阻止共享存储达到其容量配额。 Azure Stack Hub 不会监视本地文件共享或强制执行任何保留策略。

数据处理方式

你同意 Microsoft 可以仅根据 Azure Stack Hub 系统运行状况警报定期自动收集日志。 你还确认并同意,这些日志可以上传并保留在由 Microsoft 管理和控制的 Azure 存储帐户中。

这些数据用于对系统运行状况警报进行故障排除,未经你同意,不会用于营销、广告或任何其他商业目的。 数据最多可以保留 90 天,Microsoft 会按照我们的 标准隐私惯例处理收集的任何数据。

撤销你的权限不会影响之前经你同意收集的任何数据。

通过“主动收集日志”方式收集的日志会上传到由 Microsoft 管理和控制的 Azure 存储帐户中。 Microsoft 可能会在支持案例的上下文中访问这些日志,并改善 Azure Stack Hub 的运行状况。

立即发送日志

提示

通过使用主动发送日志而不是“立即发送日志”来节省时间。

“立即发送日志”是一个选项,通常用于在建立支持案例之前从 Azure Stack Hub 手动收集并上传诊断日志。

可以通过两种方式手动将诊断日志发送到 Microsoft 支持部门:

如果 Azure Stack Hub 已连接到 Azure,建议你使用管理员门户,因为这是直接将日志发送给 Microsoft 的最简单方法。 如果该门户不可用,应改为使用 PowerShell 发送日志。

注意

如果使用管理员门户或 PowerShell cmdlet 发送日志,则 Test-AzureStack 将在后台自动运行并收集诊断信息。

通过管理员门户立即发送日志

通过管理员门户立即发送日志:

  1. 打开“帮助 + 支持”“日志收集”>“立即发送日志”。
  2. 指定日志收集的开始时间和结束时间。
  3. 选择本地时区。
  4. 选择“收集并上传”。

如果已断开与 Internet 的连接,或者只想在本地保存日志,请使用 Get-AzureStackLog 方法发送日志。

通过 PowerShell 立即发送日志

如果使用“立即发送日志”方法并想要使用 PowerShell 而不是管理员门户,则可使用 cmdlet 来收集和发送特定日志。

  • 可以使用 FromDateToDate 参数来收集特定时间段的日志。 如果未指定这些参数,则默认收集过去四小时的日志。

  • 使用 FilterByNode 参数按计算机名筛选日志。 例如:

    Send-AzureStackDiagnosticLog -FilterByNode azs-xrp01
    
  • 使用 FilterByLogType 参数按类型筛选日志。 可以选择按文件、共享或 WindowsEvent 进行筛选。 例如:

    Send-AzureStackDiagnosticLog -FilterByLogType File
    
  • 使用 FilterByResourceProvider 参数为增值资源提供程序 (RP) 发送诊断日志。 常规语法为:

    Send-AzureStackDiagnosticLog -FilterByResourceProvider <<value-add RP name>>
    

    为 SQL RP 发送诊断日志:

    Send-AzureStackDiagnosticLog -FilterByResourceProvider SQLAdapter
    

    为 MySQL RP 发送诊断日志:

    Send-AzureStackDiagnosticLog -FilterByResourceProvider MySQLAdapter
    

    为事件中心发送诊断日志:

    Send-AzureStackDiagnosticLog -FilterByResourceProvider eventhub
    

    为 Azure Stack Edge 发送诊断日志:

    Send-AzureStackDiagnosticLog -FilterByResourceProvide databoxedge
    
  • 使用 FilterByRole 参数从 VirtualMachines 和 BareMetal 角色发送诊断日志:

    Send-AzureStackDiagnosticLog -FilterByRole VirtualMachines,BareMetal
    
  • 从 VirtualMachines 和 BareMetal 角色发送诊断日志,通过日期筛选功能筛选出过去 8 小时的日志文件:

    $fromDate = (Get-Date).AddHours(-8)
    Invoke-Command -Session $pepsession -ScriptBlock {Send-AzureStackDiagnosticLog -FilterByRole VirtualMachines,BareMetal -FromDate $using:fromDate}
    
  • 从 VirtualMachines 和 BareMetal 角色发送诊断日志,通过日期筛选功能筛选出 8 小时前到 2 小时前这个时间段的日志文件:

    $fromDate = (Get-Date).AddHours(-8)
    $toDate = (Get-Date).AddHours(-2)
    Invoke-Command -Session $pepsession -ScriptBlock {Send-AzureStackDiagnosticLog -FilterByRole VirtualMachines,BareMetal -FromDate $using:fromDate -ToDate $using:toDate}
    

注意

如果已断开与 Internet 的连接,或者只想在本地保存日志,请使用 Get-AzureStackLog 方法发送日志。

数据处理方式

启动从 Azure Stack Hub 收集诊断日志的操作即表明你确认并同意,这些日志可以上传并保留到由 Microsoft 管理和控制的 Azure 存储帐户中。 Microsoft 支持部门可以通过支持案例立即访问这些日志,而不必与客户联系以收集日志。

在本地保存日志

当 Azure Stack Hub 与 Azure 断开连接时,可以将日志保存到本地服务器消息块 (SMB) 共享。 例如,你可以运行断开连接的环境。 如果在正常连接的情况下遇到连接问题,则可以在本地保存日志以帮助进行故障排除。

在“设置”边栏选项卡中,输入具有共享写入权限的路径、用户名和密码。 在支持案例期间,Microsoft 支持部门提供有关如何传输这些本地日志的详细步骤。 如果管理员门户不可用,则可以使用 Get-AzureStackLog 在本地保存日志。

诊断日志收集选项的屏幕截图

带宽注意事项

进行诊断日志收集时日志的平均大小各不相同,具体取决于它是主动运行还是手动运行。 “主动收集日志”选项对应的日志平均大小约为 2 GB。 “立即发送日志”选项对应的收集大小取决于需要收集多少小时(最多 4 小时)以及 Azure Stack Hub 缩放单元中的物理节点数(4 到 16 个节点)。

下表列出了在以受限或计量方式连接到 Azure 时的环境注意事项。

网络连接 影响
低带宽/高延迟连接 日志上传需要较长的时间才能完成。
共享连接 上传还可能会影响共享网络连接的其他应用/用户。
计量连接 ISP 可能会针对你额外使用网络的情况另行收费。

例如,如果 Azure Stack Hub 的 Internet 连接或链接速度为 5 兆位/秒(低带宽),则将 2 GB 的诊断日志数据上传到 Microsoft 支持大约需要 57 分钟。 对于使用 5 兆位/秒链接速度的 8 GB 手动日志收集,上传数据大约需要 3 小时 49 分钟。 上传诊断数据的时间延长可能会延迟或影响支持体验。

查看日志集合

以往从 Azure Stack Hub 收集的日志显示在“帮助 + 支持”中的“日志收集”页上,其中提供了以下日期和时间 :

  • 收集的时间:日志收集操作的开始时间。
  • 状态:“正在进行”或“已完成”。
  • 日志开始:要收集日志的时段的开始时间。
  • 日志结束:收集时段的结束时间。
  • 类型:是手动收集日志还是主动收集日志。

“帮助 + 支持”中的日志集合

另请参阅

Azure Stack Hub 日志和客户数据处理