监视和管理您的部署
XenServer 会提供详细的性能指标监视数据,包括 CPU、内存、磁盘、网络、C-state/P-state 信息以及存储。适用情况下,会针对每个主机和每个 VM 提供这些指标。这些指标可以直接获取,也可以在 XenCenter 或其他第三方应用程序中以图形方式进行访问和查看。
XenServer 也提供系统和性能警报。警报是指为响应选定系统事件而发出的通知。当以下值之一超出在托管主机、VM 或存储库上的指定阈值时,也会发出这些通知:CPU 使用率、网络使用率、内存使用率、控制域内存使用率、存储吞吐量或 VM 磁盘使用量。您可以使用 xe CLI 或 XenCenter 来配置警报。要根据任何可用的主机或 VM 性能指标创建通知,请参阅性能警报。
监视 XenServer 性能
客户可以使用通过轮询数据库 (RRD) 公布的指标,监视其 XenServer 主机和虚拟机 (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/<t>/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_health |
本地主机上最新 XAPI 状态监视调用的周转时间(以秒为单位)。默认情况下禁用 | 已启用高可用性 | XenServer 运行状况检查延迟 |
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> 网络 <pif> | 如果 <pif> 包含 pif_xapi##,(注意 <Internal> 显示为原样) | | TAP <tap> | 如果 <pif> 包含 pif_tap## | | xapi 环回 | 如果 <pif> 包含 pif_lo |
分析和显示指标
XenCenter 中的“性能”选项卡提供整个资源池性能的实时监视统计数据,并以图表方式显示虚拟机和物理机性能的趋势。默认情况下,显示 CPU、 内存、 网络和磁盘 I/O 的图表包含在“性能”选项卡上。您可以添加更多指标,更改现有图表的外观或创建额外的图表。有关详细信息,请参阅以下部分中的配置指标。
-
可以查看最长 12 个月的性能数据,并可将数据放大,以便更清楚地查看活动高峰。
-
当服务器、VM 或 SR 上的 CPU、内存、网络 I/O、存储 I/O 或磁盘 I/O 使用率超过指定阈值时,XenCenter 会生成性能警报。有关详细信息,请参阅以下部分中的警报。
注意:
安装 XenServer Tools(半虚拟化的驱动程序)即可查看完整的 VM 性能数据。
配置性能图表
要添加图表,请执行以下操作:
-
在性能选项卡上,单击操作,然后单击新建图表。此时将显示“新建图表”对话框。
-
在名称字段中,输入图表的名称。
-
从数据源列表中,选择图表中要包含的数据源所对应的复选框。
-
单击保存。
要编辑现有图表,请执行以下操作:
-
导航到性能选项卡,然后选择要修改的图表。
-
在图表上单击鼠标右键,选择操作,或者单击操作按钮。然后选择编辑图表。
-
在“图表详细信息”窗口中,执行必要更改,然后单击确定。
配置图表类型
可以采用折线图或面积图的形式来显示性能图表中的数据。要更改图表类型,请执行以下操作:
-
在工具菜单上,单击选项,选择图表。
-
要以折线图形式查看性能数据,请单击折线图选项。
-
要以面积图形式查看性能数据,请单击面积图选项。
-
单击确定以保存更改。
有关配置和查看 XenCenter 性能图表的详细信息,请参阅监视系统性能中的“XenCenter 帮助”部分。
配置指标
注意:
C-state 和 P-state 是某些处理器的电源管理功能。可用状态范围取决于主机的物理功能以及电源管理配置。
主机和 VM 命令可以返回以下信息:
-
数据源的完整说明
-
应用于指标的单位
-
可以使用的可能值范围
例如:
name_label: cpu0-C1
name_description:CPU 0 处于 C-state 1 的时间所占的比例
已启用: true
标准:true
最小值:0.000
最大值:1.000
单位:百分比
启用特定指标
默认情况下,将启用并收集大部分指标,要启用未启用和收集的指标,请输入以下信息:
xe host-data-source-record data-source=metric name host=hostname
禁用特定指标
您可能不想定期收集某些指标。要禁用先前启用的指标,请输入以下信息:
xe host-data-source-forget data-source=metric name host=hostname
显示当前已启用的主机指标的列表
要列出当前正在收集的主机指标的列表,请输入以下信息:
xe host-data-source-list host=hostname
显示当前已启用的 VM 指标的列表
要托管当前收集的 VM 指标,请输入以下信息:
xe vm-data-source-list vm=vm_name
使用 RRD
XenServer 使用 RRD 存储性能指标。这些 RRD 包含大小固定的数据库中的多个轮询档案 (RRA)。
数据库中的每个档案以指定精度抽取其特定指标样本:
- 在 10 分钟内每隔 5 秒钟
- 在过去 2 个小时内每隔 1 分钟
- 在过去 1 周内每隔 1 小时
- 在过去 1 年内每隔 1 天
每隔 5 秒钟的抽样记录实际数据点,但是,下列 RRA 则使用整合函数。XenServer 支持的整合函数为:
- AVERAGE
- MIN
- MAX
RRD 为单个 VM(包括 dom0)和 XenServer 主机而存在。VM RRD 存储在它们运行所在的主机上,不运行时,存储在池主服务器上。因此,必须知道 VM 的位置,才能检索相关联的性能数据。
有关如何使用 XenServer RRD 的详细信息,请参阅XenServer软件开发工具包指南。
使用 HTTP 分析 RRD
您可以通过 HTTP 从使用 HTTP 处理程序(在 /host_rrd
或 /vm_rrd
上注册)指定的 XenServer 主机下载 RRD。两个地址都要求进行 HTTP 身份验证,或者通过提供有效的管理 API 会话参考作为队列参数进行身份验证。例如:
下载主机 RRD。
wget http://server/host_rrd?session_id=OpaqueRef:SESSION HANDLE>
下载 VM RRD。
wget http://server/vm_rrd?session_id=OpaqueRef:SESSION HANDLE>&uuid=VM UUID>
这两个调用都将以能够导入 rrdtool
进行分析或直接解析的格式下载 XML。
有关如何通过 HTTP 使用 XenServer RRD 的详细信息,请参阅 xenserver.org。
使用 rrd2csv 分析 RRD
除了查看 XenCenter 中的性能指标,rrd2csv 工具还会将 RRD 记录为以逗号分隔的值 (CSV) 格式。提供手册和帮助页面。要显示 rrd2csv 工具手册或帮助页面,请运行以下命令:
man rrd2csv
或
rrd2csv --help
注意:
使用多个选项时,应当单独提供。例如:要返回与 VM 或主机相关联的 UUID 和名称标签,应当调用 rrd2csv,如下所示:
rrd2csv -u -n
虽然返回的 UUID 是唯一的,而且可用作主密钥,但是,实体的名称标签可能不必是唯一的。
手册页 (rrd2csv --help
) 是工具的明确性帮助文本。
警报
可以配置 XenServer,根据任何可用的主机或 VM 指标生成警报。此外,当主机经历某些条件和状态时,XenServer 提供可以触发的预配置警报。可以使用 XenCenter 或 xe CLI 查看这些警报。
使用 XenCenter 查看警报
您可以在 XenCenter 中查看不同类型的警报,方法是单击通知,然后单击警报。“警报”视图将显示各种类型的警报,包括性能警报、系统警报和软件更新警报。
性能警报
当以下值之一超出在托管主机、VM 或存储库 (SR) 上的指定阈值时,可以生成性能警报:CPU 使用率、网络使用率、内存使用率、控制域内存使用率、存储吞吐量或 VM 磁盘使用量。
默认情况下,警报重复间隔为 60 分钟,但如果需要,也可以修改此间隔。警报将在 XenCenter 的“通知”区域中的“警报”页面上显示。此外,可以配置 XenCenter 以电子邮件形式发送任何指定的性能警报以及其他严重系统警报。
任何使用 xe CLI 配置的自定义警报也将在 XenCenter 中的“警报”页面上显示。
每个警报都有对应的优先级/严重级别。您也可以修改这些级别,根据需要选择在触发警报时接收电子邮件。默认警报优先级/严重性级别设为 3
。
优先级 | 名称 | 说明 | 默认电子邮件警报 |
---|---|---|---|
1 | 严重 | 立即采取行动,否则数据可能永久丢失/损坏。 | 是 |
2 | 重大 | 立即采取行动,否则某些服务可能无法运行。 | 是 |
3 | 警告 | 立即采取行动,否则服务可能会中断。 | 是 |
4 | 次要 | 注意,有些事项仅得到改进。 | 否 |
5 | 信息 | 日常信息(VM 启动、停止、恢复等) | 否 |
? | 未知 | 未知错误 | 否 |
配置性能警报
-
在资源窗格中,选择相应的主机、VM 或 SR,单击常规选项卡,然后单击属性。
-
单击警报选项卡。可以配置以下警报:
-
主机或 VM 的 CPU 使用率警报:选中生成 CPU 使用率警报复选框,然后设置将触发该警报的 CPU 使用率和时间阈值
-
主机或 VM 的网络使用率警报:选中生成网络使用率警报复选框,然后设置将触发该警报的网络使用率和时间阈值。
-
主机的内存使用率警报:选中生成内存使用率警报复选框,然后设置将触发该警报的可用内存和时间阈值。
-
主机的控制域内存使用率警报:选中生成控制域内存使用率警报复选框,然后设置将触发该警报的控制域内存使用率和时间阈值。
-
VM 的磁盘使用情况警报:选中生成磁盘使用情况警报复选框,然后设置将触发该警报的磁盘使用情况和时间阈值。
-
SR 的存储吞吐量警报:选中生成存储吞吐量警报复选框,然后设置将触发该警报的存储吞吐量和时间阈值。
注意:
物理块设备 (PBD) 代表特定 XenServer 主机与连接的 SR 之间的接口。当 PBD 上的总读取/写入 SR 吞吐量活动超过您指定的阈值时,与 PBD 连接的主机上将生成警报。与其他 XenServer 主机警报不同,此警报必须在 SR 上进行配置。
-
-
要更改警报重复间隔,请在警报重复间隔框中输入分钟数。达到警报阈值并生成一个警报时,只有在已耗完警报重复间隔时间后,才会生成另一个警报。
-
单击确定以保存更改。
有关如何查看、过滤和配置性能警报严重性的详细信息,请参阅 XenCenter 帮助。
系统警报
下表显示了将触发在 XenCenter 中的“警报”页面上显示的警报的系统事件/条件。
名称 | 优先级/严重性 | 说明 |
---|---|---|
license_expires_soon | 2 | XenServer 许可协议即将过期。 |
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 | 无法同步 XenServer 性能统计信息。 |
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 较旧: XenServer 需要使用较新的版本,但仍可连接到当前版本
- XenCenter 已过时: XenCenter 太旧,无法连接到 XenServer
- XenServer 已过时: XenServer 是当前 XenCenter 无法连接到的旧版本
- 许可证已过期警报: XenServer 许可证已过期
- 缺少 IQN 警报: XenServer 使用 iSCSI 存储,但主机 IQN 为空白
- 重复 IQN 警报: XenServer 使用 iSCSI 存储,但存在重复的主机 IQN
使用 xe CLI 配置性能警报
注意:
检查警报触发的最小间隔为 5 分钟。此时间间隔可以避免因检查这些条件导致系统承受过多负载以及误报。将警报重复间隔设置为小于 5 分钟会导致在 5 分钟的最小间隔时仍生成警报。
性能监视 perfmon
工具每 5 分钟运行一次,并且平均 1 分钟从 XenServer 请求一次更新。这些默认值可以在 /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>'
注意:
您可以使用多个变量节点。
设置新配置后,请使用以下命令为每个主机刷新 perfmon
:
xe host-call-plugin host=host_uuid plugin=perfmon fn=refresh
如果不执行此刷新,则在新配置生效之前将出现延迟,因为默认情况下,perfmon
每隔 30 分钟检查一次新配置。此默认值可以在 /etc/sysconfig/perfmon
中更改。
有效的 VM 元素
-
name
:变量的名称(无默认值)。如果名称值为cpu_usage
、network_usage
或disk_usage
,则不需要使用rrd_regex
和alarm_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
的变量合并为一个值(默认值为sum
或average
) -
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>'
通用示例配置
以下示例显示了一个通用配置:
<config>
<variable>
<name value="NAME_CHOSEN_BY_USER"/>
<alarm_trigger_level value="THRESHOLD_LEVEL_FOR_ALARM"/>
<alarm_trigger_period value="RAISE_ALARM_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_ALARMS_FROM_THIS_MONITOR"/>
<consolidation_fn value="FUNCTION_FOR_COMBINING_VALUES"/>
<rrd_regex value="REGULAR_EXPRESSION_TO_CHOOSE_DATASOURCE_METRIC"/>
</variable>
<variable>
...
</variable>
...
</config>
配置电子邮件警报
您可以将 XenServer 配置为在 XenServer 主机生成警报时发送电子邮件通知。此配置可以通过使用 XenCenter 或使用 xe 命令行接口 (CLI) 完成。
使用 XenCenter 启用电子邮件警报
-
在“资源”窗格中,在池上单击鼠标右键,选择属性。
-
在“属性”窗口中,选择电子邮件选项。
-
选中“发送电子邮件警报通知”复选框,然后输入电子邮件地址和 SMTP 服务器详细信息。
注意:
输入不需要身份验证的 SMTP 服务器的详细信息
-
从邮件语言列表中选择首选语言以接收性能警报电子邮件。可选的三种语言为“英语”、“简体中文”和“日语”。
用于为 XenCenter 配置性能警报电子邮件语言的默认语言为“英语”。
使用 xe CLI 启用电子邮件警报
重要:
使用 XenCenter 或 xe CLI 启用电子邮件通知时,请输入不需要身份验证的 SMTP 服务器的详细信息。通过需要身份验证的 SMTP 服务器发送的电子邮件将不会送达。
要配置电子邮件警报,请指定电子邮件地址和 SMTP 服务器:
xe pool-param-set uuid=pool_uuid other-config:mail-destination=joe.bloggs@domain.tld
xe pool-param-set uuid=pool_uuid other-config:ssmtp-mailhub=smtp.domain.tld[:端口]
在发送电子邮件之前,您还可以在消息中指定优先级(在 XenCenter 中也称为“严重性”)字段的最小值:
xe pool-param-set uuid=pool_uuid other-config:mail-max-priority=level
默认优先级为 4
。
注意:
某些 SMTP 服务器只转发地址使用 FQDN 的邮件。如果您发现无法转发电子邮件,则可能是由于此原因导致。在这种情况下,可以将服务器主机名设置为 FQDN,以便通过此地址连接到您的邮件服务器。
要配置性能警报邮件语言,请执行以下操作:
xe pool-param-set uuid=pool_uuid other-config:mail-language=en-US | zh-CN | ja-JP
通过经过身份验证的 SMTP 服务器发送电子邮件警报
XenServer 中的 mail-alarm 实用程序使用 sSMTP 发送电子邮件通知。发送电子邮件通知之前,mail-alarm 实用程序会查找配置文件 mail-alarm.conf
。如果该配置文件存在,则文件的内容将用于配置 sSMTP。否则,将使用 XAPI 数据库(使用 XenCenter 或 xe CLI 配置进行配置)中的详细信息发送电子邮件警报。要通过经过身份验证的 SMTP 服务器发送电子邮件通知,请在 /etc/
中使用下列内容创建一个 mail-alarm.conf
文件:
root=postmaster
authUser=<用户名>
authPass=<密码>
mailhub=<服务器地址>:<端口>
注意:
此配置文件将用于 XenServer 主机生成的所有警报。
额外的配置选项
每个 SMTP 服务器在设置上都略有不同,并且可能需要额外配置。从 ssmtp.conf
手册页解压的以下内容将显示正确的语法和可用选项:
名称
ssmtp.conf – ssmtp 配置文件
说明
ssmtp 从 /etc/ssmtp/ssmtp.conf 读取配置数据,该文件
包含关键字-参数对,每行一个。以“#”开头的行
和空白行将被解释为注释。
可能的关键字及其含义如下所示 (均不区分
大小写):
Root
为小于 1000 的用户 ID 获取所有邮件的用户。如果为空,
地址重写将处于禁用状态。
Mailhub
要将邮件发送到的主机,格式为:host | IP_addr port [:
端口]。默认端口为 25。
RewriteDomain
邮件似乎来自的域。用于用户身份验证。
Hostname
主机的完全限定名称。如果未指定,将查询
主机的主机名。
FromLineOverride
指定电子邮件的“发件人”标头(如果有)是否可能会
覆盖默认域。默认值为“否”。
UseTLS
指定 ssmtp 是否使用 TLS 与 SMTP 服务器通信。
默认值为“否”。
UseSTARTTLS
指定 ssmtp 是否在启动 SSL 协商之前执行 EHLO/STARTTLS
。请参阅 RFC 2487。
TLSCert
要用于 TLS(如果需要)的 RSA 证书的文件名。
AuthUser
要用于 SMTP 身份验证的用户名。默认值为空,在
这种情况下,将使用 SMTP 身份验证。
AuthPass
要用于 SMTP 身份验证的密码。
AuthMethod
要使用的授权方法。如果未设置,则将使用纯文本。
也可以设置为“cram-md5”。
自定义字段和标记
XenCenter 支持创建标记和自定义字段,这样,您可以组织和快速搜索 VM、存储等对象。有关详细信息,请参阅 XenCenter 帮助。
自定义搜索
XenCenter 支持创建自定义搜索。可以导出和导入搜索,还可以在导航面板中显示搜索结果。有关详细信息,请参阅 XenCenter 帮助。
确定物理总线适配器的吞吐量
对于 FC、SAS 和 iSCSI HBA,可以通过以下步骤确定 PBD 的网络吞吐量。
- 列出主机上的 PBD。
- 确定哪个 LUN 在哪个 PBD 上路由。
- 对于每个 PBD 和 SR,列出 SR 上引用 VDI 的 VBD。
- 针对主机上连接到 VM 的所有活动 VBD,计算组合吞吐量。
针对 iSCSI 和 NFS 存储,检查网络统计,以确定阵列上是否存在吞吐量瓶颈,或者 PBD 是否已饱和。