监控和管理您的部署
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 以查看完整的虚拟机性能数据。
配置性能图表
添加图表:
-
在“性能”选项卡上,单击“操作”,然后单击“新建图表”。将显示“新建图表”对话框。
-
在“名称”字段中,输入图表的名称。
-
从“数据源”列表中,选中要包含在图表中的数据源对应的复选框。
-
单击“保存”。
要编辑现有图表:
-
导航到“性能”选项卡,并选择要修改的图表。
-
右键单击图表并选择“操作”,或单击“操作”按钮。然后选择“编辑图表”。
-
在图表详细信息窗口中,进行必要的更改,然后单击“确定”。
配置图表类型
性能图表上的数据可以显示为线条或区域。要更改图表类型:
-
在“工具”菜单上,单击“选项”,然后选择“图表”。
-
要将性能数据显示为折线图,请单击“折线图”选项。
-
要将性能数据显示为区域图,请单击“区域图”选项。
-
单击“确定”以保存更改。
有关配置和查看 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 的网络吞吐量。
- 列出主机上的 PBD。
- 确定哪些 LUN 经由哪些 PBD 路由。
- 对于每个 PBD 和 SR,列出引用 SR 上 VDI 的 VBD。
- 对于连接到主机上虚拟机的所有活动 VBD,计算组合吞吐量。
对于 iSCSI 和 NFS 存储,请检查您的网络统计信息,以确定阵列是否存在吞吐量瓶颈,或者 PBD 是否已饱和。