XenServer

监控和管理您的部署

XenServer 提供详细的性能指标监控。这些指标包括 CPU、内存、磁盘、网络、C 状态/P 状态信息和存储。在适当的情况下,这些指标可按主机和按虚拟机提供。这些指标可以直接获取,也可以在 XenCenter 或其他第三方应用程序中以图形方式访问和查看。

XenServer 还提供系统和性能警报。警报是针对选定系统事件发生的通知。当受管主机、虚拟机或存储库上的以下任何值超过指定阈值时,也会发生这些通知:CPU 使用率、网络使用率、内存使用率、控制域内存使用率、存储吞吐量或虚拟机磁盘使用率。您可以使用 xe CLI 或 XenCenter 配置警报。要根据任何可用的主机或虚拟机性能指标创建通知,请参阅性能警报

监控 XenServer® 性能

客户可以使用通过循环数据库 (RRD) 公开的指标来监控其 XenServer 主机和虚拟机 (VM) 的性能。这些指标可以通过 HTTP 或 RRD2CSV 工具进行查询。此外,XenCenter 使用此数据生成系统性能图表。有关详细信息,请参阅分析和可视化指标

分析和可视化指标

XenCenter 中的“性能”选项卡除了提供虚拟和物理机性能的图形趋势外,还提供跨资源池的性能统计信息实时监控。默认情况下,“性能”选项卡中包含显示 CPU、内存、网络和磁盘 I/O 的图表。您可以添加更多指标、更改现有图表的外观或创建额外的图表。有关详细信息,请参阅下一节中的配置指标

  • 您可以查看长达 12 个月的性能数据,并放大以仔细查看活动峰值。

  • 当主机、虚拟机或 SR 上的 CPU、内存、网络 I/O、存储 I/O 或磁盘 I/O 使用率超过指定阈值时,XenCenter 可以生成性能警报。有关详细信息,请参阅下一节中的警报

注意:

安装 XenServer VM Tools 以查看完整的虚拟机性能数据。

配置性能图表

添加图表:

  1. 在“性能”选项卡上,单击“操作”,然后单击“新建图表”。将显示“新建图表”对话框。

  2. 在“名称”字段中,输入图表的名称。

  3. 从“数据源”列表中,选中要包含在图表中的数据源对应的复选框。

  4. 单击“保存”。

要编辑现有图表:

  1. 导航到“性能”选项卡,并选择要修改的图表。

  2. 右键单击图表并选择“操作”,或单击“操作”按钮。然后选择“编辑图表”。

  3. 在图表详细信息窗口中,进行必要的更改,然后单击“确定”。

配置图表类型

性能图表上的数据可以显示为线条或区域。要更改图表类型:

  1. 在“工具”菜单上,单击“选项”,然后选择“图表”。

  2. 要将性能数据显示为折线图,请单击“折线图”选项。

  3. 要将性能数据显示为区域图,请单击“区域图”选项。

  4. 单击“确定”以保存更改。

有关配置和查看 XenCenter 性能图表的详细信息,可以在 XenCenter 文档的 监控系统性能 部分中找到。

配置指标

注意:

C-states 和 P-states 是某些处理器的电源管理功能。可用状态的范围取决于主机的物理功能以及电源管理配置。

主机和 VM 命令都返回以下内容:

  • 数据源的完整描述

  • 应用于指标的单位

  • 可能使用的值范围

例如:

    name_label: cpu0-C1
    name_description: Proportion of time CPU 0 spent in C-state 1
    enabled: true
    standard: true
    min: 0.000
    max: 1.000
    units: Percent
<!--NeedCopy-->

启用特定指标

大多数指标默认启用并收集,要启用未启用的指标,请输入以下内容:

xe host-data-source-record data-source=metric name host=hostname
<!--NeedCopy-->

禁用特定指标

您可能不想定期收集某些指标。要禁用以前启用的指标,请输入以下内容:

xe host-data-source-forget data-source=metric name host=hostname
<!--NeedCopy-->

显示当前启用的主机指标列表

要列出当前正在收集的主机指标,请输入以下内容:

xe host-data-source-list host=hostname
<!--NeedCopy-->

显示当前启用的 VM 指标列表

要托管当前正在收集的 VM 指标,请输入以下内容:

xe vm-data-source-list vm=vm_name
<!--NeedCopy-->

使用 RRDs

XenServer 使用 RRD 存储性能指标。这些 RRD 由固定大小数据库中的多个循环档案 (RRA) 组成。

数据库中的每个档案都以指定的粒度对其特定指标进行采样:

  • 每 5 秒,持续 10 分钟
  • 每分钟,持续过去两小时
  • 每小时,持续过去一周
  • 每天,持续过去一年

每五秒进行的采样记录实际数据点,但是,以下 RRA 改用合并函数。XenServer 支持的合并函数包括:

  • AVERAGE
  • MIN
  • MAX

RRD 存在于单个 VM(包括 dom0)和 XenServer 主机中。VM RRD 存储在它们运行的主机上,或者在未运行时存储在池协调器上。因此,必须知道 VM 的位置才能检索相关的性能数据。

有关如何使用 XenServer RRD 的详细信息,请参阅 XenServer 软件开发工具包指南

使用 HTTP 分析 RRD

您可以使用在 /host_rrd/vm_rrd 注册的 HTTP 处理程序,通过 HTTP 从指定的 XenServer 主机下载 RRD。这两个地址都需要通过 HTTP 身份验证或通过提供有效的管理 API 会话引用作为查询参数进行身份验证。例如:

下载主机 RRD。

wget http://server/host_rrd?session_id=OpaqueRef:SESSION HANDLE>
<!--NeedCopy-->

下载 VM RRD。

wget http://server/vm_rrd?session_id=OpaqueRef:SESSION HANDLE>&uuid=VM UUID>
<!--NeedCopy-->

这两个调用都以下载 XML 的形式进行,其格式可以直接解析。

使用 rrd2csv 分析 RRD

除了在 XenCenter® 中查看性能指标外,rrd2csv 工具还将 RRD 记录为逗号分隔值 (CSV) 格式。提供了手册页和帮助页。要显示 rrd2csv 工具的手册页或帮助页,请运行以下命令:

man rrd2csv
<!--NeedCopy-->

rrd2csv --help
<!--NeedCopy-->

注意:

当使用多个选项时,请单独提供。例如:要返回与 VM 或主机关联的 UUID 和名称标签,请按如下所示调用 rrd2csv:

rrd2csv -u -n

返回的 UUID 是唯一的,适合作为主键,但实体的名称标签不一定唯一。

手册页 (rrd2csv --help) 是该工具的权威帮助文本。

可用指标

下表列出了所有可用的主机和 VM 指标。

注意:

  • 一段时间内的延迟定义为该段时间内操作的平均延迟。
  • 某些指标的可用性和实用性取决于 SR 和 CPU。

可用主机指标

指标名称 描述 条件 XenCenter 名称
avgqu_sz_<sr-uuid-short> 平均 I/O 队列大小(请求)。 主机上 SR <sr-uuid-short> 中至少有一个已插入的 VBD sr-uuid-short 队列大小
cpu<cpu>-C<cstate> CPU cpu 在 C 状态 cstate 中花费的时间(毫秒)。 CPU 上存在 C 状态 CPU cpu C 状态 cstate
cpu<cpu>-P<pstate> CPU cpu 在 P 状态 pstate 中花费的时间(毫秒)。 CPU 上存在 P 状态 CPU cpu P 状态 pstate
cpu<cpu> 物理 CPU cpu 的利用率(分数)。默认启用。 CPU cpu 存在 CPU cpu
cpu_avg 物理 CPU 的平均利用率(分数)。默认启用。 平均 CPU
DCMI-power-reading IPMI DCMI 报告的主机功耗。 主机硬件支持 IPMI DCMI 功耗读取 DCMI-功率读数
hostload 每个物理 CPU 的主机负载,其中负载是指处于运行或可运行状态的 vCPU 数量。 主机 CPU 负载
inflight_<sr-uuid-short> 当前正在进行的 I/O 请求数量。默认启用。 主机上 SR sr 中至少有一个已连接的 VBD sr 正在进行的请求
io_throughput_read_<sr-uuidshort> 从 SR 读取的数据(MiB/秒)。 主机上 SR sr 中至少有一个已连接的 VBD sr 读取吞吐量
io_throughput_write_<sr-uuidshort> 写入 SR 的数据(MiB/秒)。 主机上 SR sr 中至少有一个已连接的 VBD sr 写入吞吐量
io_throughput_total_<sr-uuidshort> 所有 SR I/O (MiB/秒)。 主机上 SR sr 中至少有一个已插入的 VBD sr 总吞吐量
iops_read_<sr-uuid-short> 每秒读取请求数。 主机上 SR sr 中至少有一个已插入的 VBD sr 读取 IOPS
iops_write_<sr-uuid-short> 每秒写入请求数。 主机上 SR sr 中至少有一个已插入的 VBD sr 写入 IOPS
iops_total_<sr-uuid-short> 每秒 I/O 请求数。 主机上 SR sr 中至少有一个已插入的 VBD sr 总计 IOPS
iowait_<sr-uuid-short> 等待 I/O 的时间百分比。 主机上 SR sr 中至少有一个已连接的 VBD sr I/O 等待
latency_<sr-uuid-short> 平均 I/O 延迟(毫秒)。 主机上 SR sr 中至少有一个已连接的 VBD sr 延迟
loadavg Domain0 负载平均值。默认启用 控制域负载
memory_free_kib 可用内存总量(KiB)。默认启用。 未在 XenCenter 中显示。由“已用内存”取代。
未由工具栈报告。由 XenCenter 计算。 已用内存总量 (KiB)。默认启用。 已用内存
memory_reclaimed 通过压缩回收的主机内存 (B)。 回收内存
memory_reclaimed_max 可通过压缩回收的主机内存 (B)。 潜在回收内存
memory_total_kib 主机中的内存总量 (KiB)。默认启用。 总内存
network/latency 本地主机向所有在线主机传输的最后两个心跳之间的时间间隔(秒)。默认禁用。 HA 已启用 网络延迟
statefile/<vdi_uuid>/latency 本地主机最近一次状态文件访问的周转时间(秒)。默认禁用。 HA 已启用 HA 状态文件延迟
pif_<pif>_rx 物理接口 pif 上每秒接收的字节数。默认启用。 PIF 存在 XenCenter-pifname 接收(参见注释)
pif_<pif>_tx 物理接口 pif 上每秒发送的字节数。默认启用。 PIF 存在 XenCenter-pifname 发送(参见注释)
pif_<pif>_rx_errors 物理接口 pif 上每秒接收的错误数。默认禁用。 PIF 存在 XenCenter-pifname 接收错误(参见注释)
pif_<pif>_tx_errors 物理接口 pif 上每秒传输的错误数。默认禁用 PIF 存在 XenCenter-pifname 发送错误(参见注释)
pif_aggr_rx 所有物理接口上每秒接收的字节数。默认启用。 网卡总接收
pif_aggr_tx 所有物理接口每秒发送的字节数。默认启用。 网卡总发送
pvsaccelerator_evicted 每秒从缓存中逐出的字节数 PVSAccelerator 已启用 PVS-Accelerator 逐出率
pvsaccelerator_read_hits 每秒从缓存中提供的读取次数 PVSAccelerator 已启用 PVS-Accelerator 命中率
pvsaccelerator_read_misses 每秒无法从缓存中提供的读取次数 PVSAccelerator 已启用 PVS-Accelerator 未命中率
pvsaccelerator_traffic_client_sent 缓存的 PVS 客户端每秒发送的字节数 PVSAccelerator 已启用 PVS-Accelerator 观察到的来自客户端的网络流量
pvsaccelerator_traffic_server_sent 缓存的 PVS 服务器每秒发送的字节数 PVSAccelerator 已启用 PVS-Accelerator 观察到的来自服务器的网络流量
pvsaccelerator_read_total 缓存观察到的每秒读取次数 PVSAccelerator 已启用 PVS-Accelerator 观察到的读取速率
pvsaccelerator_traffic_proxy_saved PVSAccelerator 而非 PVS 服务器每秒发送的字节数 PVSAccelerator 已启用 PVS-Accelerator 节省的网络流量
pvsaccelerator_space_utilization PVSAccelerator 在此主机上使用的空间百分比,与缓存存储的总大小相比 PVSAccelerator 已启用 PVS-Accelerator 空间利用率
running_vcpus 正在运行的 vCPU 总数 正在运行的 vCPU 数量
running_domains 正在运行的域总数,包括 dom0(主机的控制域) 正在运行的域数量
sr_<sr>_cache_size IntelliCache SR 的大小(以字节为单位)。默认启用。 IntelliCache 已启用 IntelliCache 缓存大小
sr_<sr>_cache_hits 每秒缓存命中次数。默认启用。 IntelliCache 已启用 IntelliCache 缓存命中
sr_<sr>_cache_misses 每秒缓存未命中次数。默认启用。 IntelliCache 已启用 IntelliCache 缓存未命中
xapi_allocation_kib XAPI 守护程序分配的内存 (KiB)。默认启用。 代理内存分配
xapi_free_memory_kib XAPI 守护程序可用的空闲内存 (KiB)。默认启用。 代理空闲内存
xapi_healthcheck/latency 本地主机上最新 XAPI 状态监控调用的周转时间(秒)。默认禁用。 高可用性已启用 XenServer 高可用性延迟
xapi_live_memory_kib XAPI 守护程序使用的实时内存 (KiB)。默认启用。 代理实时内存
xapi_memory_usage_kib XAPI 守护程序分配使用的总内存 (KiB)。默认启用。 代理内存使用情况

可用 VM 指标

指标名称 描述 条件 XenCenter 名称
cpu<cpu> vCPU cpu 的利用率(分数)。默认启用 vCPU cpu 存在 CPU
cpu_usage 域 CPU 使用情况 cpu_usage
memory 分配给虚拟机的当前内存(字节)。默认启用 总内存
memory_target 虚拟机气球驱动程序的目标(字节)。默认启用 内存目标
memory_internal_free 客户机代理报告的已用内存(KiB)。默认启用 可用内存
runnable_any 域中至少一个 vCPU 可运行的时间比例 vCPU 可运行(任意)
runnable_vcpus 域的 vCPU 可运行的时间比例 vCPU 可运行(总和)
runstate_fullrun 所有 vCPU 都在运行的时间比例。 vCPU 完全运行
runstate_full_contention 所有 vCPU 都可运行(即等待 CPU)的时间比例 vCPU 完全争用
runstate_concurrency_hazard 部分 vCPU 正在运行,部分 vCPU 可运行的时间比例 vCPU 并发风险
runstate_blocked 所有 vCPU 处于阻塞或离线状态的时间比例 vCPU 空闲
runstate_partial_run 部分 vCPU 正在运行,部分 vCPU 处于阻塞状态的时间比例 vCPU 部分运行
runstate_partial_contention 部分 vCPU 可运行,部分 vCPU 处于阻塞状态的时间比例 vCPU 部分争用
vbd_<vbd>_write 写入设备 vbd,每秒字节数。默认启用 VBD vbd 存在 磁盘 vbd 写入
vbd_<vbd>_read 从设备 vbd 读取,每秒字节数。默认启用。 VBD vbd 存在 磁盘 vbd 读取
vbd_<vbd>_write_latency 写入设备 vbd,以微秒为单位。 VBD vbd 存在 磁盘 vbd 写入延迟
vbd_<vbd>_read_latency 从设备 vbd 读取,以微秒为单位。 VBD vbd 存在 磁盘 vbd 读取延迟
vbd <vbd>_iops_read 每秒读取请求数。 主机上至少有一个已插入的非 ISO VDI 的 VBD 磁盘 vbd 读取 IOPs
vbd <vbd>_iops_write 每秒写入请求数。 主机上至少有一个已插入的非 ISO VDI 的 VBD 磁盘 vbd 写入 IOPS
vbd <vbd>_iops_total 每秒 I/O 请求数。 主机上至少有一个已插入的非 ISO VDI 的 VBD 磁盘 vbd 总 IOPS
vbd <vbd>_iowait 等待 I/O 的时间百分比。 主机上至少有一个已插入的非 ISO VDI 的 VBD 磁盘 vbd IO 等待
vbd <vbd>_inflight 当前正在进行的 I/O 请求数量。 主机上至少有一个用于非 ISO VDI 的已连接 VBD 磁盘 vbd 正在进行的请求
vbd <vbd>_avgqu_sz 平均 I/O 队列大小。 主机上至少有一个用于非 ISO VDI 的已连接 VBD 磁盘 vbd 队列大小
vif_<vif>_rx 在虚拟接口编号 vif 上每秒接收的字节数。默认启用。 VIF vif 存在 vif 接收
vif_<vif>_tx 在虚拟接口 vif 上每秒发送的字节数。默认启用。 VIF vif 存在 vif 发送
vif_<vif>_rx_errors 在虚拟接口 vif 上每秒接收错误。默认启用。 VIF vif 存在 vif 接收错误
vif_<vif>_tx_errors 在虚拟接口 vif 上每秒传输错误。默认启用。 VIF vif 存在 vif 发送错误

注意:

<XenCenter-pif-name> 的值可以是以下任意一项:

  • NIC <pif> - 如果 <pif> 包含 pif_eth#,其中 ## 是 0–9
  • <pif> - 如果 <pif> 包含 pif_eth#.##pif_xenbr##pif_bond##
  • <Internal> Network <pif> - 如果 <pif> 包含 pif_xapi##,(请注意 <Internal> 按原样显示)
  • TAP <tap> - 如果 <pif> 包含 pif_tap##
  • xapi Loopback - 如果 <pif> 包含 pif_lo

自定义字段和标签

XenCenter 支持创建标签和自定义字段,这有助于组织和快速搜索虚拟机、存储等。有关详细信息,请参阅监视系统性能

自定义搜索

XenCenter 支持创建自定义搜索。搜索可以导出和导入,搜索结果可以显示在导航窗格中。有关详细信息,请参阅监视系统性能

确定物理总线适配器的吞吐量

对于 FC、SAS 和 iSCSI HBA,您可以使用以下过程确定 PBD 的网络吞吐量。

  1. 列出主机上的 PBD。
  2. 确定哪些 LUN 经由哪些 PBD 路由。
  3. 对于每个 PBD 和 SR,列出引用 SR 上 VDI 的 VBD。
  4. 对于连接到主机上虚拟机的所有活动 VBD,计算组合吞吐量。

对于 iSCSI 和 NFS 存储,请检查您的网络统计信息,以确定阵列是否存在吞吐量瓶颈,或者 PBD 是否已饱和。

监控和管理您的部署