VM 监视收集器旨在通过在 VM 中执行运行状况检查,收集磁盘和网络等各种资源中的 VM 运行状况数据。 此收集器套件有助于识别问题、监视性能趋势和优化资源,以提高整体用户体验。
本文汇总了 VM 监视中的所有可用收集器,以及相应的检查、指标、日志和参数配置。 有关每个检查、指标和日志的详细说明,请参阅 VM 监视概述 页。
先决条件
本文假设你熟悉以下内容:
注释
名称 | 说明 |
---|---|
收藏家 | 可收集检查、指标和日志以确定特定资源的运行状况的类似测试的逻辑分组 |
信号 | 为反映 VM 的运行状况而发出的内容。 发出的三种类型的信号是检查、指标和日志 |
组 | 指示收集器是核心组还是可选组的一部分。 默认情况下,核心组收集器处于启用状态,而可以根据要求启用或禁用可选的组收集器 |
标记 | 用于对检查、指标和日志进行分类和筛选 |
资格 | 根据指定的环境属性确定收集器是否符合执行条件 |
默认行为 | 将遵循的标准设置和动作(如果未提供任何自定义配置)。 |
可覆盖的参数 | 可自定义以替代默认配置的关联参数 |
分组、类别以及相应检查、指标和事件日志
收集器名称 | 组 | 标记 | 支票 | 指标 | 事件日志 |
---|---|---|---|---|---|
outbound_connectivity | 核心 | 网络 |
|
||
DNS(域名系统) | 核心 | 网络 |
|
||
TCP统计数据 | 核心 | 网络 |
|
||
clock_skew | 核心 | 时钟 |
|
||
disk_io | 核心 | 磁盘 |
|
|
|
disk_iops | 核心 | 磁盘 |
|
||
imds | 核心 | IMDS |
|
||
过程 | 核心 | 流程 |
|
||
process_memory | 核心 | 流程 |
|
||
process_cpu | 核心 | 流程 |
|
||
进程监控器 | 可选 | 流程 |
|
|
|
系统错误 | 核心 | 操作系统 |
|
||
az_storage_blob | 可选 | AzBlob |
|
||
hardware_health_monitor | 可选 | 硬件 |
|
||
hardware_health_nvidia_smi | 可选 | 硬件 |
|
资格、默认行为和可覆盖参数
收集器名称 | 资格 | 默认行为 | 可覆盖的参数 |
---|---|---|---|
outbound_connectivity | 如果 EnvironmentAttribute 的“OutboundConnectivityDisabled”未设置或设置为“false”,则可以使用 | 此收集器每 60 秒执行一次。 在每次执行中,它会发送 http GET 请求 http://www.msftconnecttest.com/connecttest.txt ,超时为 5s。 如果请求失败,则最多重试两次,间隔为 10 秒。 如果所有重试失败,验证将标记为“失败”。 |
|
DNS(域名系统) | 如果 EnvironmentAttribute 的“OutboundConnectivityDisabled”未设置或设置为“false”,则可以使用 | 此收集器每 180 秒执行一次。 在每次执行中,它都会尝试解析 DNS 名称 www.msftconnecttest.com 。 如果无法解析 DNS 名称,验证将标记为“失败”。 |
|
TCP统计数据 | 始终可以使用 | 此收集器每 180 秒执行一次。 在每次运行中,它将收集过去 180 秒的 TCP 统计信息。 |
|
clock_skew | 如果 EnvironmentAttribute 的“OutboundConnectivityDisabled”未设置或设置为“false”,则可以使用 | 此收集器每 180 秒执行一次。 在每次执行中,它将检索远程 NTP 服务器 time.windows.com 和 VM 之间的时钟偏移量。 如果时钟倾斜大于 5.0 秒,验证将标记为“失败”。 在 Windows VM 中,如果连接到远程 NTP 服务器失败,它会回退以使用 w32tm 命令检查 Windows 时间服务。 如果 w32tm 命令返回“Leap Indicator: 3(未同步),验证将标记为”失败”。 |
|
disk_io | 未指定装载点时始终可以使用。 如果显式指定了装入点,则仅当数据磁盘附加到 VM 时才符合条件 | 此收集器每 180 秒执行一次。 在每个执行中,它通过创建文件夹、创建文件、向其写入字节、删除和删除文件夹来验证每个可用装入点中的磁盘 io 可用性。 然后,它会从每个装入点收集磁盘使用情况信息,包括已用空间、可用空间、总容量和已用百分比。 |
|
disk_iops | 始终可以使用 | 此收集器每 180 秒执行一次。 在每次执行时,它从每个可用的磁盘设备收集每秒读取和写入操作的指标。 |
|
imds | 始终可以使用 | 此收集器每 180 秒执行一次。 在每次执行中,它都会查询 IMDS 终结点 http://169.254.169.254/metadata/instance/compute ,并验证响应正文包含 VM 的信息(SubscriptionId、ResourceGroup、VMId、ResourceId)。 查询超时为 10s。 如果查询失败,则最多重试三次,间隔为 15 秒、30 秒和 45 秒。 |
|
过程 | 始终可以使用 | 此收集器每 180 秒执行一次。 在每次执行中,它都会在 Windows 计算机和 ${SYTEM_DIR}\system32\cmd.exe /c echo hello Linux 计算机上创建和执行命令/bin/sh -c echo hello 。 进程执行超时为 10s。 |
|
process_memory | 始终可以使用 | 此收集器每 180 秒执行一次。 在每个执行中,它选择内存使用率最高的前三个进程,并报告 ProcessRSSPercent、ProcessPageFaults、MachineMemoryTotalInBytes、MachineMemoryUsedPercent 和 TotalPageFaults。 |
|
process_cpu | 始终可以使用 | 此收集器每 180 秒执行一次。 在每个执行中,它会选择 CPU 使用率最高的前三个进程,并报告 ProcessCoreUsage、ProcessMachineUsage 和 MachineTotalCpuUsage。 |
|
process_monitor(进程监控器) | 始终可以使用 | 未执行。 如果用户显式启用,此收集器将验证所选进程是否正在运行并收集其运行时间(以秒为单位)。 |
|
系统错误 | Windows 计算机中可用 | 此收集器每三分钟执行一次。 在每次执行中,它订阅 Windows EventLog 的“系统”通道,并查询 SystemData 中定义的级别 < =2(包括 LOG_ALWAYS、严重、错误)的事件。 measurementTarget 定义为使用默认 Windows 区域设置的 EventLog Source_EventId。 在每个集合中,对不同的测量目标数量的限制为不超过 10 个。 |
|
az_storage_blob | 如果 EnvironmentAttribute 的“OutboundConnectivityDisabled”未设置或设置为“false”,则可以使用 | 未执行。 如果用户显式地启用该功能,此收集器会验证 VM 是否可以通过托管身份标识或 SAS 令牌访问所选的 Azure 存储 Blob。 |
|
hardware_health_monitor | Windows 计算机中可用 | 未执行。 如果用户显式启用,则此收集器将从 Windows 事件日志收集硬件运行状况信息,目前仅收集与磁盘相关的关键事件,包括 ID 为 7、500、504、505、505、512 和 549 的事件。 |
|
hardware_health_nvidia_smi | 在 Linux Ubuntu 计算机中符合条件 | 未执行。 如果用户显式启用,则此收集器将从 Windows 事件日志收集硬件运行状况信息,目前仅收集与磁盘相关的关键事件,包括 ID 为 7、500、504、505、505、512 和 549 的事件。 |
|