使用 Insights 监视多个 Azure Stack HCI 群集

适用于:Azure Stack HCI 版本 22H2

本文介绍如何使用 Insights 监视多个 Azure Stack HCI 群集。 对于单个 Azure Stack HCI 群集,请参阅使用 Insights 监视 Azure Stack HCI

重要

如果在 2023 年 11 月之前注册了 Azure Stack HCI 群集并配置了 Insights,则使用 Azure Monitor 代理 (AMA) 的某些功能(例如 Arc for Servers、VM Insights、Defender for Cloud 或 Sentinel)可能无法正确收集日志和事件数据。 有关故障排除指南,请参阅对 2023 年 11 月之前注册的群集进行故障排除部分。

有关 Insights 的优势、先决条件及其在每个群集上的启用方式的信息,请参阅优势先决条件启用 Insights

查看运行状况、性能和使用情况见解

Insights 将其数据存储在 Log Analytics 工作区中,从而可提供强大的聚合和筛选功能,并分析一段时间内的数据趋势。 Insights 不会产生直接费用。 用户将根据引入数据量及其 Log Analytics 工作区的数据保留设置付费。

可以通过“Azure Monitor”>“见解中心”>“Azure Stack HCI”访问 Insights。 你将看到以下选项卡可在视图之间切换:“添加到监视”、“群集运行状况”、“服务器”、“虚拟机”、“存储”。

筛选结果

可以跨订阅筛选可视化效果。 可以基于下列下拉菜单筛选结果:

  • 时间范围:使用此筛选器可以选择趋势视图的范围。 默认值为“过去 24 小时”。
  • 订阅:显示已注册 Azure Stack HCI 群集的订阅。 在此筛选器中可以选择多个订阅。
  • HCI 群集:列出在所选时间范围内启用了日志和监视功能的已注册 Azure Stack HCI 群集。 可以在此筛选器中选择多个群集。
  • 资源组:此筛选器让你可以选择资源组中的所有群集。

添加到监视

此功能提供有关用户未监视的群集的详细信息。 若要开始监视群集,请选择它以打开该群集,然后选择“功能”>“见解”。 如果未看到群集,请确保它最近已连接到 Azure。

Screenshot for selecting cluster for monitoring.

说明 示例
群集 群集的名称。 27cls1
Azure 连接状态 HCI 资源状态。 连续
OS 版本 服务器上的操作系统版本。 10.0.20348.10131

默认情况下,网格视图显示前 250 行。 可以通过编辑网格行来设置值,如下图所示:

Screenshot showing the screen for setting grid values.

可以通过选择“导出到 Excel”将详细信息导出到 Excel 中,如下图所示:

Screenshot showing the link for exporting to Excel.

Excel 将提供 Azure 连接状态,如下所示:

  • 0:未注册
  • 1:已断开连接
  • 2:最近未使用
  • 3:已连接

群集运行状况

此视图提供群集运行状况的概览。

Screenshot showing cluster health overview information.

Column 说明 示例
群集 群集的名称。 27cls1
上次更新时间 上次更新服务器时的时间戳。 2022/4/9 中午 12:15:42
状态 提供群集中的服务器资源的运行状况。 它可以是“正常”、“警告”、“严重”或“其他”。 正常
故障资源 说明哪个资源导致了故障。 Server、StoragePool、Subsystem
服务器总计 群集中的服务器数。 4

如果群集缺失,或显示状态“其他”,请转到用于该群集的 Log Analytics 工作区,并确保代理配置正在从 microsoft-windows-health/operational 日志捕获数据。 此外,请确保群集最近已连接到 Azure,并检查群集是否未在此工作簿中筛选出来。

服务器

此视图提供服务器运行状况和性能,以及所选群集的使用情况的概述。 此视图是使用 Microsoft-Windows-SDDC-Management/操作 Windows 事件日志通道的服务器事件 ID 3000 生成的。 可以进一步展开每一行以查看节点运行状况。 可与群集和服务器资源交互,以导航到相应的资源页。

Screenshot showing health of servers.

虚拟机

此视图提供所选群集中所有 VM 的状态。 此视图是使用 Microsoft-Windows-SDDC-Management/操作 Windows 事件日志通道的虚拟机事件 ID 3003 生成的。 可以进一步展开每一行,以查看 VM 在群集中各服务器之间的分布情况。 可与群集和节点资源交互,以导航到相应的资源页。

Screenshot showing health of virtual machines.

指标 说明 示例
“群集”>“服务器” 群集的名称。 展开时,它会显示群集中的服务器。 Sample-VM-1
上次更新时间 上次更新服务器时的日期时间戳。 2022/4/9 中午 12:24:02
VM 总数 群集中某个服务器节点内的 VM 数。 1 个(共 2 个)正在运行
正在运行 群集中某个服务器节点内正在运行的 VM 数。 2
已停止 群集中某个服务器节点内已停止的 VM 数。 3
Failed 群集中某个服务器节点内已发生故障的 VM 数。 2
其他 如果 VM 处于以下状态之一:“未知”、“正在启动”、“正在拍摄快照”、“正在保存”、“正在停止”、“正在暂停”、“正在恢复”、“已暂停”、“已挂起”,则将该状态视为“其他”。 2

存储

此视图显示受监视群集上的卷运行状况、使用情况和性能。 展开某个群集可查看各个卷的状态。 此视图是使用 Microsoft-Windows-SDDC-Management/操作 Windows 事件日志通道的卷事件 ID 3002 生成的。 顶部的磁贴概述了存储的运行状况。

Screenshot showing health of storage volumes.

指标 说明 示例
“群集”>“卷” 群集的名称。 展开时,它会显示群集中的卷。 “AltaylCluster1”>“ClusterPerformanceHistory”
上次更新时间 上次更新存储时的日期时间戳。 2022/4/14 下午 2:58:55
卷运行状况 卷的状态。 它可以是“正常”、“警告”、“严重”或“其他”。 正常
大小 报告期内设备的总容量(以字节为单位)。 25 字节
使用情况 报告期间可用容量的百分比。 23.54%
Iops 每秒输入/输出操作数。 45 个/秒
趋势 IOPS 趋势。
吞吐量 应用程序网关每秒提供的字节数。 5 字节/秒
趋势(字节/秒) 吞吐量趋势。
平均延迟 延迟是完成 I/O 请求所需的平均时间。 334 微秒

自定义 Insights

由于该用户体验构建在 Azure Monitor 工作簿模板的基础之上,因此用户可以编辑可视化效果和查询,并将其另存为自定义的工作簿。

如果从“Azure Monitor”>“见解中心”>“Azure Stack HCI”使用可视化效果,请选择“自定义”>“编辑”>“另存为”,将修改后的版本副本保存到自定义工作簿中。

工作簿将保存在某个资源组中。 有权访问该资源组的任何人都可以访问自定义的工作簿。

大部分查询是使用 Kusto 查询语言 (KQL) 编写的。 某些查询是使用 Resource Graph Query 编写的。 有关详细信息,请参阅以下文章:

支持

若要创建 Insights 的支持票证,请使用“监视和管理”下的服务类型“Insights for Azure Stack HCI”

事件日志通道

Insights 和监视视图基于 Microsoft-Windows-SDDC-Management/操作 Windows 事件日志通道。 启用监视后,此通道中的数据将保存到某个 Log Analytics 工作区。

查看和更改转储缓存间隔

转储缓存的默认间隔设置为 3600 秒(1 小时)。

使用以下 PowerShell cmdlet 查看缓存转储间隔值:

Get-ClusterResource "sddc management" | Get-ClusterParameter

使用以下 cmdlet 更改缓存转储的频率。 如果设置为 0,则会停止发布事件:

Get-ClusterResource "sddc management" | Set-ClusterParameter -Name CacheDumpIntervalInSeconds -Value <value in seconds>

日志通道中的 Windows 事件

此通道包括五个事件。 每个事件具有用作 EventData 的群集名称和 Azure 资源管理器 ID。

事件 ID 事件类型
3000 服务器
3001 驱动器
3002 数据量(Volume)
3003 虚拟机
3004 群集

服务器事件 3000 RenderedDescription 列值

{
   "m_servers":[
      {
         "m_statusCategory":"Integer",
         "m_status":[
            "Integer",
            "…"
         ],
         "m_id":"String",
         "m_name":"String",
         "m_totalPhysicalMemoryInBytes":"Integer",
         "m_usedPhysicalMemoryInBytes":"Integer",
         "m_totalProcessorsUsedPercentage":"Integer",
         "m_totalClockSpeedInMHz":"Integer",
         "m_uptimeInSeconds":"Integer",
         "m_InboundNetworkUsage":"Double (Bits/sec)",
         "m_OutboundNetworkUsage":"Double (Bits/sec)",
         "m_InboundRdmaUsage":"Double (Bits/sec)",
         "m_OutboundRdmaUsage":"Double (Bits/sec)",
         "m_site":"String",
         "m_location":"String",
         "m_vm":{
            "m_totalVmsUnknown":"Integer",
            "m_totalVmsRunning":"Integer",
            "m_totalVmsStopped":"Integer",
            "m_totalVmsFailed":"Integer",
            "m_totalVmsPaused":"Integer",
            "m_totalVmsSuspended":"Integer",
            "m_totalVmsStarting":"Integer",
            "m_totalVmsSnapshotting":"Integer",
            "m_totalVmsSaving":"Integer",
            "m_totalVmsStopping":"Integer",
            "m_totalVmsPausing":"Integer",
            "m_totalVmsResuming":"Integer"
         },
         "m_osVersion":"String",
         "m_buildNumber":"String",
         "m_totalPhysicalProcessors":"Integer",
         "m_totalLogicalProcessors":"Integer"
      },
      "…"
   ],
   "m_alerts":{
      "m_totalUnknown":"Integer",
      "m_totalHealthy":"Integer",
      "m_totalWarning":"Integer",
      "m_totalCritical":"Integer"
   }
} 

此 JSON 信息中的大多数变量的意义都是不言自明的。 但是,下表中列出的几个变量有点难以理解。

变量 说明
m_servers 服务器节点的数组。
m_statusCategory 服务器的运行状况。
m_status 服务器的状态。 它是可以包含一个或两个值的数组。 第一个值是必需的 (0-4)。 第二个值是可选的 (5-9)。

m_statusCategory 变量的值如下:

含义
0 正常
1 警告
2 不正常
255 其他

m_status 变量的值如下:

含义
0 向上
1 向下
2 维护中
3 联接
4 普通
5 独立
6 已隔离
7 正在清空
8 清空已完成
9 清空失败
0xffff 未知

驱动器事件 3001 RenderedDescription 列值

驱动器事件 3001

{
    "m_drives":[
        {
            "m_uniqueId":"String",
            "m_model":"String",
            "m_type":"Integer",
            "m_canPool":"Boolean",
            "m_sizeInBytes":"Integer",
            "m_sizeUsedInBytes":"Integer",
            "m_alerts":{
                "m_totalUnknown":"Integer",
                "m_totalHealthy":"Integer",
                "m_totalWarning":"Integer",
                "m_totalCritical":"Integer"
            }
        },
        "…"
    ],
    "m_correlationId":"String",
    "m_isLastElement":"Boolean"
}

卷事件 3002 RenderedDescription 列值

卷事件 3002

{
   "VolumeList":[
      {
         "m_Id":"String",
         "m_Label":"String",
         "m_Path":"String",
         "m_StatusCategory":"Integer",
         "m_Status":[
            "Integer",
            "…"
         ],
         "m_Size":"Integer (Bytes)",
         "m_SizeUsed":"Integer (Bytes)",
         "m_TotalIops":"Double (Count/second)",
         "m_TotalThroughput":"Double (Bytes/Second)",
         "m_AverageLatency":"Double (Seconds)",
         "m_Resiliency":"Integer",
         "m_IsDedupEnabled":"Boolean",
         "m_FileSystem":"String"
      },
      "…"
   ],
   "m_Alerts":{
      "m_totalUnknown":"Integer",
      "m_totalHealthy":"Integer",
      "m_totalWarning":"Integer",
      "m_totalCritical":"Integer"
   }
} 

上述 JSON 信息中的大多数变量都是自释性的。 但是,下表中列出的几个变量有点难以理解。

变量 说明
VolumeList 卷的数组。
m_StatusCategory 卷的运行状况。
m_Status 卷的状态。 它是可以包含一个或两个值的数组。 第一个值是必需的 (0-4)。 第二个值是可选的 (5-9)。

m_statusCategory 变量的值如下:

含义
0 正常
1 警告
2 不正常
255 其他

m_status 变量的值如下:

含义
0 Unknown
1 其他
2 OK
3 需要修复
4 受压
5 预测性故障
6 错误
7 不可恢复的错误
8 正在启动
9 正在停止
10 已停止
11 服务中
12 无法联系
13 通信断开
14 Aborted
15 休眠
16 支持实体出错
17 已完成
18 电源模式
19 正在重新定位
0xD002 向下
0xD003 需要重新同步

虚拟机事件 3003 RenderedDescription 列值

虚拟机事件 3003

{
   "m_totalVmsUnknown":"Integer",
   "m_totalVmsRunning":"Integer",
   "m_totalVmsStopped":"Integer",
   "m_totalVmsFailed":"Integer",
   "m_totalVmsPaused":"Integer",
   "m_totalVmsSuspended":"Integer",
   "m_totalVmsStarting":"Integer",
   "m_totalVmsSnapshotting":"Integer",
   "m_totalVmsSaving":"Integer",
   "m_totalVmsStopping":"Integer",
   "m_totalVmsPausing":"Integer",
   "m_totalVmsResuming":"Integer",
   "m_alerts":{
      "m_totalUnknown":"Integer",
      "m_totalHealthy":"Integer",
      "m_totalWarning":"Integer",
      "m_totalCritical":"Integer"
   }
}

群集事件 3004 RenderedDescription 列值

群集事件 3004

{
   "m_cpuUsage":"Double (%)",
   "m_totalVolumeIops":"Double",
   "m_averageVolumeLatency":"Double (Seconds)",
   "m_totalVolumeThroughput":"Double (Bytes/Second)",
   "m_totalVolumeSizeInBytes":"Integer",
   "m_usedVolumeSizeInBytes":"Integer",
   "m_totalMemoryInBytes":"Integer",
   "m_usedMemoryInBytes":"Integer",
   "m_isStretch":"Boolean",
   "m_QuorumType":"String",
   "m_QuorumMode":"String",
   "m_QuorumState":"String",
   "m_alerts":{
      "m_totalUnknown":"Integer",
      "m_totalHealthy":"Integer",
      "m_totalWarning":"Integer",
      "m_totalCritical":"Integer"
   }

有关收集的数据的详细信息,请参阅运行状况服务故障

后续步骤

如需相关信息,请参阅: