Citrix Hypervisor

监视和管理您的部署

Citrix Hypervisor 提供详细的性能衡量指标监视数据。这些衡量指标包括 CPU、内存、磁盘、网络、C 状态/P 状态信息和存储。适用情况下,会针对每个主机和每个 VM 提供这些指标。这些指标可以直接获取,也可以在 XenCenter 或其他第三方应用程序中以图形方式进行访问和查看。

Citrix Hypervisor 也提供系统警报和性能警报。警报是指为响应选定系统事件而发出的通知。当以下值之一超出在托管主机、VM 或存储库上的指定阈值时,也会发出这些通知:CPU 使用率、网络使用率、内存使用率、控制域内存使用率、存储吞吐量或 VM 磁盘使用量。您可以使用 xe CLI 或 XenCenter 来配置警报。要根据任何可用的主机或 VM 性能指标创建通知,请参阅性能警报

监视 Citrix Hypervisor 性能

客户可以使用通过轮询数据库 (RRD) 公布的指标,监视其 Citrix Hypervisor 服务器和虚拟机 (VM) 的性能。这些指标可以通过 HTTP 或通过 RRD2CSV 工具进行查询。此外,XenCenter 还将使用这些数据生成系统性能图表。有关详细信息,请参阅分析和可视化指标

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

备注:

  • 某个时间段内的延迟被定义为此时间段中的平均操作延迟。
  • 某些指标的可用性和实用性取决于 SR 和 CPU。
  • 性能指标不适用于 GFS2 SR 以及这些 SR 上的磁盘。

可用主机指标

指标名称 说明 条件 XenCenter 名称
avgqu_sz_<sr-uuid-short> 平均 I/O 队列大小(请求)。 主机上的 SR <sr-uuid-short> 中至少有一个插入的 VBD sr-uuid-short 队列大小
cpu<cpu>-C<cstate> CPU cpu 处于 C-state cstate 的时间(以毫秒为单位)。 C-state 存在于 CPU 上 CPU cpu 处于 C-state cstate
cpu<cpu>-P<pstate> CPU cpu 处于 P-state pstate 的时间(以毫秒为单位)。 P-state 存在于 CPU 上 CPU cpu 处于 p-statepstate
cpu<cpu> 物理 CPU cpu 的利用率(片段)。默认已启用。 CPU cpu 存在 CPU cpu
cpu_avg 物理 CPU 的平均利用率(片段)。默认已启用。 平均 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 IO 等待
latency_<sr-uuid-short> 平均 I/O 延迟(毫秒)。 主机上的 SR sr 中至少有一个插入的 VBD sr 延迟
loadavg Domain0 的平均负载。默认已启用 控制域负载
memory_free_kib 可用内存总量 (KiB)。默认已启用。 可用内存
memory_reclaimed 通过腾出回收的主机内存 (B)。 回收的内存
memory_reclaimed_max 通过腾出回收的可用主机内存 (B)。 潜在回收的内存
memory_total_kib 主机中的内存总量 (KiB)。默认已启用。 总内存
network/latency 从本地主机传输到所有在线主机的最后两个检测信号之间的时间间隔(以秒为单位)。默认情况下禁用。 已启用高可用性 网络延迟
statefile/<vdi_uuid>/latency 从本地主机访问的最新状态文件的周转时间(以秒为单位)。默认情况下禁用。 已启用高可用性 高可用性状态文件延迟
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 所有物理接口上每秒接收的字节数。默认已启用。 NIC 接收的总数据量
pif_aggr_tx 所有物理接口上每秒发送的字节数。默认已启用。 NIC 发送的总数据量
pvsaccelerator_evicted 每秒钟从缓存中逐出的字节数 已启用 PVS 加速器 PVS 加速器逐出率
pvsaccelerator_read_hits 每秒钟从缓存送达的读取次数 已启用 PVS 加速器 PVS 加速器命中率
pvsaccelerator_read_misses 每秒钟无法从缓存送达的读取次数 已启用 PVS 加速器 PVS 加速器未命中率
pvsaccelerator_traffic_client_sent 缓存的 PVS 客户端每秒钟发送的字节数 已启用 PVS 加速器 PVS 加速器观察到的来自客户端的网络流量
pvsaccelerator_traffic_server_sent 缓存的 PVS 服务器每秒钟发送的字节数 已启用 PVS 加速器 PVS 加速器观察到的来自服务器的网络流量
pvsaccelerator_read_total 缓存每秒钟观察到的读取次数 已启用 PVS 加速器 PVS 加速器观察到的读取速率
pvsaccelerator_traffic_proxy_saved PVS 加速器(而非 PVS 服务器)每秒钟发送的字节数 已启用 PVS 加速器 PVS 加速器保存的网络流量
pvsaccelerator_space_utilization 此主机上的 PVS 加速器使用的空间所占的百分比(与缓存存储的总大小相比) 已启用 PVS 加速器 PVS 加速器空间利用率
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 状态监测调用的周转时间(以秒为单位)。默认情况下禁用。 高可用性已启用 Citrix Hypervisor 高可用性延迟
xapi_live_memory_kib XAPI 守护程序占用的实时内存 (KiB)。默认已启用。 活动代理内存
xapi_memory_usage_kib XAPI 守护程序占用的已分配总内存 (KiB)。默认已启用。 代理内存使用率

可用 VM 指标

指标名称 说明 条件 XenCenter 名称
cpu<cpu> vCPU cpu 的利用率(片段)。默认已启用 vCPU cpu 存在 CPU
memory 当前分配给 VM 的内存(以字节为单位)。默认状况下启用 总内存
memory_target VM 气球驱动程序的目标(以字节为单位)。默认已启用 内存目标
memory_internal_free 按来宾系统代理报告使用的内存 (KiB)。默认已启用 可用内存
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/0 等待时间百分比。 主机上的非 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 中的“性能”选项卡可提供整个资源池性能的实时监视统计数据,并以图表方式显示虚拟机和物理机性能的趋势。默认情况下,显示 CPU、 内存、 网络和磁盘 I/O 的图表包含在“性能”选项卡上。您可以添加更多指标,更改现有图表的外观或创建额外的图表。有关详细信息,请参阅以下部分中的配置指标

  • 可以查看最长 12 个月的性能数据,并可将数据放大,以便更清楚地查看活动高峰。

  • 当服务器、VM 或 SR 上的 CPU、内存、网络 I/O、存储 I/O 或磁盘 I/O 使用率超过指定阈值时,XenCenter 会生成性能警报。有关详细信息,请参阅以下部分中的警报

注意:

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

配置性能图表

要添加图表,请执行以下操作:

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

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

  3. 数据源列表中,选择图表中要包含的数据源所对应的复选框。

  4. 单击保存

要编辑现有图表,请执行以下操作:

  1. 导航到性能选项卡,然后选择要修改的图表。

  2. 在图表上单击鼠标右键,选择操作,或者单击操作按钮。然后选择编辑图表

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

配置图表类型

可以采用折线图或面积图的形式来显示性能图表中的数据。要更改图表类型,请执行以下操作:

  1. 工具菜单上,单击选项,选择图表

  2. 要以折线图形式查看性能数据,请单击折线图选项。

  3. 要以面积图形式查看性能数据,请单击面积图选项。

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

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

配置指标

注意:

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

主机和 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-->

使用 RRD

Citrix Hypervisor 将使用 RRD 来存储性能指标。这些 RRD 包含大小固定的数据库中的多个轮询档案 (RRA)。

数据库中的每个档案以指定精度抽取其特定指标样本:

  • 在 10 分钟内每隔 5 秒钟
  • 在过去 2 个小时内每隔 1 分钟
  • 在过去 1 周内每隔 1 小时
  • 在过去 1 年内每隔 1 天

每隔 5 秒钟的抽样记录实际数据点,但是,下列 RRA 则使用整合函数。Citrix Hypervisor 支持的整合函数为:

  • AVERAGE
  • MIN
  • MAX

RRD 为单个 VM(包括 dom0)和 Citrix Hypervisor 服务器而存在。VM RRD 存储在它们运行所在的主机上,不运行时,存储在池主服务器上。因此,必须知道 VM 的位置,才能检索相关联的性能数据。

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

使用 HTTP 分析 RRD

您可以通过 HTTP 从使用 HTTP 处理程序(在 /host_rrd/vm_rrd 上注册)指定的 Citrix Hypervisor 服务器下载 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-->

这两个调用都将以能够导入 rrdtool 进行分析或直接解析的格式下载 XML。

使用 rrd2csv 分析 RRD

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

man rrd2csv
<!--NeedCopy-->

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

注意:

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

rrd2csv -u -n

虽然返回的 UUID 是唯一的,而且可用作主密钥,但是,实体的名称标签可能不必是唯一的。

手册页 (rrd2csv --help) 是工具的明确性帮助文本。

警报

可以将 Citrix Hypervisor 配置为根据任何可用的主机或 VM 指标生成警报。此外,当主机经历某些条件和状态时,Citrix Hypervisor 会提供可以触发的预配置警报。可以使用 XenCenter 或 xe CLI 查看这些警报。

使用 XenCenter 查看警报

您可以在 XenCenter 中查看不同类型的系统警报,方法是单击通知,然后单击警报。“警报”视图将显示各种类型的警报,包括性能警报、系统警报和软件更新警报。

性能警报

当以下值之一超出在托管主机、VM 或存储库 (SR) 上的指定阈值时,可以生成性能警报:CPU 使用率、网络使用率、内存使用率、控制域内存使用率、存储吞吐量或 VM 磁盘使用量。

默认情况下,警报重复间隔为 60 分钟,但如果需要,也可以修改此间隔。警报将显示在 XenCenter 的“通知”区域中的“警报”页面上。此外,还可以将 XenCenter 配置为以电子邮件形式发送任何指定的性能警报以及其他严重系统警报。

任何使用 xe CLI 配置的自定义警报也将在 XenCenter 中的“警报”页面上显示。

每个警报都有对应的优先级/严重级别。您也可以修改这些级别,根据需要选择在触发警报时接收电子邮件。默认警报优先级/严重性级别设为 3

优先级 名称 说明 默认电子邮件警报
1 严重 立即采取行动,否则数据可能永久丢失/损坏。
2 重大 立即采取行动,否则某些服务可能无法运行。
3 警告 立即采取行动,否则服务可能会中断。
4 次要 注意,有些事项仅得到改进。
5 信息 日常信息(VM 启动、停止、恢复等)
? 未知 未知错误

配置性能警报

  1. 资源窗格中,选择相应的主机、VM 或 SR,单击常规选项卡,然后单击属性

  2. 单击警报选项卡。可以配置以下警报:

    • 主机或 VM 的 CPU 使用率警报:选中生成 CPU 使用率警报复选框,然后设置将触发该警报的 CPU 使用率和时间阈值

    • 主机或 VM 的网络使用率警报:选中生成网络使用率警报复选框,然后设置将触发该警报的网络使用率和时间阈值。

    • 主机的内存使用率警报:选中生成内存使用率警报复选框,然后设置将触发该警报的可用内存和时间阈值。

    • 主机的控制域内存使用率警报:选中生成控制域内存使用率警报复选框,然后设置将触发该警报的控制域内存使用率和时间阈值。

    • VM 的磁盘使用情况警报:选中生成磁盘使用情况警报复选框,然后设置将触发该警报的磁盘使用情况和时间阈值。

    • SR 的存储吞吐量警报:选中生成存储吞吐量警报复选框,然后设置将触发该警报的存储吞吐量和时间阈值。

      注意:

      物理块设备 (PBD) 代表特定的 Citrix Hypervisor 服务器与连接的 SR 之间的接口。当 PBD 上的总读取/写入 SR 吞吐量活动超过您指定的阈值时,与 PBD 连接的主机上将生成警报。与其他 Citrix Hypervisor 服务器警报不同,此警报必须在 SR 上进行配置。

  3. 要更改警报重复间隔,请在警报重复间隔框中输入分钟数。达到警报阈值并生成一个警报时,只有在已耗完警报重复间隔时间后,才会生成另一个警报。

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

要了解有关如何查看、过滤和配置性能警报严重性的详细信息,请参阅 XenCenter 文档中的配置性能警报

系统警报

下表显示了将触发在 XenCenter 中的“警报”页面上显示的警报的系统事件/条件。

名称 优先级/严重性 说明
license_expires_soon 2 Citrix Hypervisor 许可协议即将过期。
ha-statefile_lost 2 已断开与高可用性存储库的连接,立即采取行动。
ha-heartbeat_approaching_timeout 5 高可用性即将超时,主机可能重新启动,除非采取行动。
ha_statefile_approaching_timeout 5 高可用性即将超时,主机可能重新启动,除非采取行动。
haxapi_healthcheck_approaching_timeout 5 高可用性即将超时,主机可能重新启动,除非采取行动。
ha_network_bonding_error 3 潜在服务丢失。发送高可用性检测信号的网络已中断。
ha_pool_overcommited 3 潜在服务丢失。高可用性无法保障对已配置 VM 的保护。
ha_poor_drop_in_plan_exists_for 3 高可用性覆盖率已经下降,更有可能失败,目前还没有丢失。
ha_protected_vm_restart_failed 2 服务丢失。高可用性无法重新启动受保护的 VM。
ha_host_failed 3 高可用性检测到某个主机出现故障。
ha_host_was_fenced 4 高可用性已重新启动某个主机,以保护 VM 免遭损坏。
redo_log_healthy 4 XAPI redo 日志已从上一错误中恢复。
redo_log_broken 3 XAPI redo 日志遇到了错误。
ip_configured_pif_can_unplug 3 使用高可用性时,已配置 IP 的 NIC 会被 XAPI 拔出,这有可能导致出现高可用性故障。
host_sync_data_failed 3 无法同步 Citrix Hypervisor 性能统计信息。
host_clock_skew_detected 3 主机时钟与池中其他主机时钟不同步。
host_clock_went_backwards 1 主机时钟已损坏。
pool_master_transition 4 已将新主机指定为池主服务器。
pbd_plug_failed_on_server_start 3 引导时,主机未连接到存储。
auth_external_init_failed 2 主机无法启用外部 AD 身份验证。
auth_external_pool_non-homogeneous 2 池中的主机有不同的 AD 身份验证配置。
multipath_period_alert 3 到 SR 的路径发生故障或已恢复。
bond-status-changed 3 绑定中的链路已断开连接或已重新连接。

软件更新警报

  • XenCenter 较旧: Citrix Hypervisor 需要使用较新的版本,但仍可连接到当前版本
  • XenCenter 已过期: XenCenter 太旧,无法连接到 Citrix Hypervisor
  • Citrix Hypervisor 已过期: Citrix Hypervisor 是当前 XenCenter 无法连接到的旧版本
  • 许可证已过期警报: Citrix Hypervisor 许可证已过期
  • 缺少 IQN 警报: Citrix Hypervisor 使用的是 iSCSI 存储,但主机 IQN 为空白
  • 重复 IQN 警报: Citrix Hypervisor 使用的是 iSCSI 存储,但存在重复的主机 IQN

使用 xe CLI 配置性能警报

注意:

检查警报触发的最小间隔为 5 分钟。此时间间隔可以避免因检查这些条件导致系统承受过多负载以及误报。将警报重复间隔设置为小于 5 分钟会导致在 5 分钟的最小间隔时仍生成警报。

性能监视 perfmon 工具每 5 分钟运行一次,并且平均 1 分钟从 Citrix Hypervisor 请求一次更新。这些默认值可以在 /etc/sysconfig/perfmon 中更改。

perfmon 工具每 5 分钟读取一次同一主机上运行的性能变量的更新。这些变量分成两组,一组与主机本身相关,另一组与在此主机上运行的每个 VM 相关。对于每个 VM 和 主机,perfmon 读取参数 other-config:perfmon,并且使用此字符串来确定监视哪些变量以及在哪种情况下生成消息。

例如,下面显示了通过将 XML 字符串写入参数 other-config:perfmon 来配置 VM“CPU 使用率”警报的示例:

xe vm-param-set uuid=vm_uuid other-config:perfmon=\

'<config>
    <variable>
        <name value="cpu_usage"/>
        <alarm_trigger_level value="0.5"/>
    </variable>
</config>'
<!--NeedCopy-->

注意:

您可以使用多个变量节点。

设置新配置后,请使用以下命令为每个主机刷新 perfmon

xe host-call-plugin host=host_uuid plugin=perfmon fn=refresh
<!--NeedCopy-->

如果不执行此刷新,则在新配置生效之前将出现延迟,因为默认情况下,perfmon 每隔 30 分钟检查一次新配置。此默认值可以在 /etc/sysconfig/perfmon 中更改。

有效的 VM 元素

  • name:变量的名称(无默认值)。如果名称值为 cpu_usagenetwork_usagedisk_usage,则不需要使用 rrd_regexalarm_trigger_sense 参数,因为将使用这些值的默认值。

  • alarm_priority:生成警报的优先级(默认值为 3)。

  • alarm_trigger_level:触发警报的值的级别(无默认值)。

  • alarm_trigger_sense:如果 alarm_trigger_level 为最大值,则值为 high,否则如果 alarm_trigger_level 为最小值,则值为 low(默认值为 high)。

  • alarm_trigger_period:在发送警报之前,能够接收的(高于或低于警报阈值)值的秒数(默认值为 60)。

  • alarm_auto_inhibit_period:在发送警报后将禁用此警报的秒数(默认值为 3600)。

  • consolidation_fn:将来自 rrd_updates 的变量合并为一个值。对于 cpu-usage,默认值为 average,对于 fs_usage,默认值为 get_percent_fs_usage,对于所有其他变量,则为 sum

  • rrd_regex:匹配来自 xe vm-data-sources-list uuid=vm_uuid 的变量的名称,以计算性能值。此参数具有已命名变量的默认值:

    • cpu_usage
    • network_usage
    • disk_usage

如果指定了正则表达式,将使用根据 consolidation_fn 指定的方法,对 xe vm-data-source-list 返回的项中名称与指定的正则表达式匹配的所有项的值进行合并。

有效的主机元素

  • name:变量的名称(无默认值)。
  • alarm_priority:生成警报的优先级(默认值为 3)。
  • alarm_trigger_level:触发警报的值的级别(无默认值)。
  • alarm_trigger_sense:当 alarm_trigger_level 为最大值时,该值为 high,否则如果 alarm_trigger_level 为最小值,则为 low。(默认值为 high
  • alarm_trigger_period:在发送警报之前,能够接收的(高于或低于警报阈值)值的秒数(默认值为 60)。
  • alarm_auto_inhibit_period:在发送某个警报后多久(秒)禁用该警报。(默认值为 3600)。
  • consolidation_fn:将来自 rrd_updates 的变量合并为一个值(默认值为 sumaverage
  • rrd_regex:与 xe vm-data-source-list uuid=vm_uuid 命令返回的变量的名称相匹配的正则表达式,用于计算统计值。此参数具有下列已命名变量的默认值:
    • cpu_usage
    • network_usage
    • memory_free_kib
    • sr_io_throughput_total_xxxxxxxx(其中 xxxxxxxx 是 SR-UUID 的前八个字符)。

SR 吞吐量:必须在 SR 而非主机上配置存储吞吐量警报。例如:

xe sr-param-set uuid=sr_uuid other-config:perfmon=\
'<config>
    <variable>
        <name value="sr_io_throughput_total_per_host"/>
        <alarm_trigger_level value="0.01"/>
    </variable>
</config>'
<!--NeedCopy-->

通用示例配置

以下示例显示了一个通用配置:

<config>
    <variable>
    <name value="NAME_CHOSEN_BY_USER"/>
    <alarm_trigger_level value="THRESHOLD_LEVEL_FOR_ALERT"/>
    <alarm_trigger_period value="RAISE_ALERT_AFTER_THIS_MANY_SECONDS_OF_BAD_VALUES"/>
    <alarm_priority value="PRIORITY_LEVEL"/>
    <alarm_trigger_sense value="HIGH_OR_LOW"/>
    <alarm_auto_inhibit_period value="MINIMUM_TIME_BETWEEN_ALERT_FROM_THIS_MONITOR"/>
    <consolidation_fn value="FUNCTION_FOR_COMBINING_VALUES"/>
    <rrd_regex value="REGULAR_EXPRESSION_TO_CHOOSE_DATASOURCE_METRIC"/>
    </variable>

    <variable>
    ...
    </variable>

    ...
</config>
<!--NeedCopy-->

配置电子邮件警报

您可以将 Citrix Hypervisor 配置为在 Citrix Hypervisor 服务器生成警报时发送电子邮件通知。Citrix Hypervisor 中的 mail-alarm 实用程序将使用 sSMTP 发送这些电子邮件通知。可以使用 XenCenter 或 xe 命令行界面 (CLI) 启用基本电子邮件警报。要进一步配置电子邮件警报,您可以修改 mail-alarm.conf 配置文件。

使用不需要身份验证的 SMTP 服务器。通过需要身份验证的 SMTP 服务器发送的电子邮件将无法传送。

使用 XenCenter 启用电子邮件警报

  1. 在“Resources”窗格中,右键单击某个池并选择“Properties”。

  2. 在“Properties”窗口中,选择“Email Options”。

  3. 选中“Send email alert notifications”复选框。输入通知电子邮件的首选目的地地址和 SMTP 服务器详细信息。

  4. 从“Mail language”列表中选择您的首选语言。性能警报电子邮件的默认语言为“英语”。

使用 xe CLI 启用电子邮件警报

要配置电子邮件警报,请为通知电子邮件和 SMTP 服务器指定您的首选目标地址:

xe pool-param-set uuid=pool_uuid other-config:mail-destination=joe.bloggs@example.com
xe pool-param-set uuid=pool_uuid other-config:ssmtp-mailhub=smtp.example.com:<port>
<!--NeedCopy-->

Citrix Hypervisor 自动将发件人地址配置为 noreply@<hostname>。但是,您可以明确设置发件人地址:

xe pool-param-set uuid=pool_uuid other-config:mail-sender=serveralerts@example.com
<!--NeedCopy-->

打开电子邮件通知功能后,在生成优先级为 3 或更高的警报时,您会收到一封电子邮件通知。因此,默认的最低优先级为 3。可以使用以下命令更改此默认值:

xe pool-param-set uuid=pool_uuid other-config:mail-min-priority=level
<!--NeedCopy-->

注意:

某些 SMTP 服务器只转发地址使用 FQDN 的邮件。如果您发现无法转发电子邮件,则可能是由于此原因导致。在这种情况下,可以将服务器主机名设置为 FQDN,以便通过此地址连接到您的邮件服务器。

要配置性能警报电子邮件的语言,请执行以下操作:

xe pool-param-set uuid=pool_uuid other-config:mail-language=ja-JP
<!--NeedCopy-->

性能警报电子邮件的默认语言为“英语”。

进一步配置

要在 Citrix Hypervisor 中进一步配置邮件警报实用程序,请创建一个包含以下内容的 /etc/mail-alarm.conf 文件:

root=postmaster
authUser=<username>
authPass=<password>
mailhub=@MAILHUB@
<!--NeedCopy-->

/etc/mail-alarm.conf 是用户提供的 sSMTP 的配置文件 ssmtp.conf 的模板,用于 Citrix Hypervisor 服务器生成的所有警报。它由多个键组成,其中 key=@KEY@@KEY@pool.other_config 中的 ssmtp-key 的相应值替换。然后将这些值传递给 ssmtp,允许您使用 pool.other_config 中的值控制 sSMTP 配置的各个方面。注意,@KEY@(大写)如何对应 ssmtp-key(小写,前缀为 ssmtp-)。

例如,如果您设置 SMTP 服务器:

xe pool-param-set uuid=pool_uuid other-config:ssmtp-mailhub=smtp.example.com
<!--NeedCopy-->

然后将以下内容添加到您的 /etc/mail-alarm.conf 文件中:

mailhub=@MAILHUB@
<!--NeedCopy-->

mailhub=@MAILHUB@ 变成 mailhub=smtp.example.com

每个 SMTP 服务器在设置上都略有不同,并且可能需要额外配置。要进一步配置 sSMTP,请修改其配置文件 ssmtp.conf。通过将相关密钥存储在 mail-alarm.conf 文件中,您可以使用 pool.other_config 中的值来配置 sSMTP。从 ssmtp.conf 手册页解压的以下内容将显示正确的语法和可用选项:

NAME
    ssmtp.conf – ssmtp configuration file

DESCRIPTION
    ssmtp reads configuration data from /etc/ssmtp/ssmtp.conf The file con-
    tains keyword-argument pairs, one per line. Lines starting with '#'
    and empty lines are interpreted as comments.

The possible keywords and their meanings are as follows (both are case-
insensitive):

    Root
    The user that gets all mail for userids less than 1000. If blank,
    address rewriting is disabled.

    Mailhub
        The host to send mail to, in the form host | IP_addr port :
        <port>. The default port is 25.

    RewriteDomain
    The domain from which mail seems to come. For user authentication.

    Hostname
        The full qualified name of the host. If not specified, the host
        is queried for its hostname.

    FromLineOverride
        Specifies whether the From header of an email, if any, may over-
        ride the default domain. The default is "no".

    UseTLS
    Specifies whether ssmtp uses TLS to talk to the SMTP server.
    The default is "no".

    UseSTARTTLS
        Specifies whether ssmtp does a EHLO/STARTTLS before starting TLS
        negotiation. See RFC 2487.

    TLSCert
        The file name of an RSA certificate to use for TLS, if required.

    AuthUser
        The user name to use for SMTP AUTH. The default is blank, in
        which case SMTP AUTH is not used.

    AuthPass
        The password to use for SMTP AUTH.

    AuthMethod
        The authorization method to use. If unset, plain text is used.
        May also be set to "cram-md5".
<!--NeedCopy-->

自定义字段和标记

XenCenter 支持创建标记和自定义字段,这样可以组织和快速搜索 VM、存储等对象。有关详细信息,请参阅监视系统性能

自定义搜索

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

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

对于 FC、SAS 和 iSCSI HBA,可以通过以下步骤确定 PBD 的网络吞吐量。

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

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

监视和管理您的部署