使用 NRPE 监控主机和 dom0 资源

Last published : Oct 07, 2026
注意:
NRPE 功能适用于 XenServer Premium 或试用版客户。有关 XenServer 许可的更多信息,请参阅许可。要升级或获取 XenServer 许可证,请访问XenServer 网站。
具有池管理员角色的用户可以使用任何支持 Nagios 远程插件执行程序 (NRPE) 的第三方监控工具,以监控 XenServer® 主机和 dom0(主机的控制域)消耗的资源。
您可以使用以下检查插件来监控主机和 dom0 资源:
指标 NRPE 检查名称 描述 默认警告阈值 默认严重阈值 返回的性能数据
主机 CPU 负载 check_host_load 获取并检查主机的每个物理 CPU 的当前负载,其中负载是指处于运行或可运行状态的 vCPU 数量。 3 4 主机的 CPU 当前系统负载(通过计算主机物理 CPU 的平均负载得出)。
主机 CPU 使用率 (%) check_host_cpu 获取并检查主机的当前平均总体 CPU 使用率。 80% 90% 当前空闲的主机 CPU 百分比以及正在使用的百分比。
主机内存使用率 (%) check_host_memory 获取并检查主机的当前内存使用率。 80% 90% 当前空闲的主机内存百分比以及正在使用的百分比。
主机 vGPU 使用率 (%) check_vgpu 获取并检查主机当前所有正在运行的 Nvidia vGPU 使用情况。 80% 90% 当前空闲的正在运行的 vGPU 百分比和正在使用的百分比。
主机 vGPU 内存使用率 (%) check_vgpu_memory 获取并检查主机当前所有正在运行的 Nvidia vGPU 内存使用情况(包括共享内存和图形内存)。 80% 90% 当前空闲的正在运行的 vGPU 内存(包括共享内存和图形内存)百分比和正在使用的百分比。
Dom0 CPU 负载 check_load 获取并检查 dom0 每个 CPU 的当前系统平均负载,其中负载指处于运行或可运行状态的进程数。 2.7,2.6,2.5 3.2,3.1,3 主机 CPU 负载数据,通过计算过去 1、5 和 15 分钟的平均值来得出。
Dom0 CPU 使用率 (%) check_cpu 获取并检查 dom0 当前的平均总体 CPU 使用率。 80% 90% dom0 的平均总体 CPU 使用率(以百分比表示)。
Dom0 内存使用率 (%) check_memory 获取并检查 dom0 当前的内存使用率。 80% 90% dom0 当前可用内存的百分比以及正在使用的内存百分比。
Dom0 可用交换空间 (%) check_swap 获取并检查 dom0 当前的交换空间使用情况。 20% 10% dom0 上当前可用 MB 的百分比。
Dom0 根分区可用空间 (%) check_disk_root 获取并检查 dom0 当前的根分区使用情况。 20% 10% dom0 根分区上当前可用 MB 的百分比。
Dom0 日志分区可用空间 (%) check_disk_log 获取并检查 dom0 当前的日志分区使用情况。 20% 10% dom0 日志分区中当前可用 MB 的百分比。
工具栈状态 check_xapi 获取并检查 XenServer 管理工具栈(也称为 XAPI)的状态。 XAPI 已运行时间(秒)。
多路径状态 check_multipath 获取并检查存储路径的状态。 存储路径的状态。OK 表示所有路径都处于活动状态,WARNING 表示某些路径已失败但有多个路径处于活动状态,CRITICAL 表示只有一个路径处于活动状态或所有路径都已失败,UNKNOWN 表示主机多路径已禁用且无法获取路径状态。
NRPE 是一种本地服务,它在 dom0 中运行,并侦听 TCP 端口(默认)5666,以接收来自监控工具的检查执行请求。请求到达后,NRPE 会对其进行解析,从配置文件中查找相应的检查命令(包括参数详细信息),然后运行该命令。检查结果将发送到监控工具,该工具会存储过去的检查结果并提供显示历史性能数据的图表。

先决条件

要使用 NRPE 监控主机和 dom0 资源,您使用的监控工具必须满足以下先决条件:
  • 监控工具必须与 NRPE 4.1.0 版兼容。
  • 为了允许 NRPE 与监控工具之间进行通信,监控工具必须支持 TLS 1.2,并使用密码 ECDHE-RSA-AES256-GCM-SHA384 和 ECDHE-RSA-AES128-GCM-SHA256,且 EC 曲线为 secp384r1。

限制

  • 您可以为整个池或不属于池的独立主机配置 NRPE 设置。目前,您无法为池中的单个主机配置 NRPE 设置。
  • 如果将主机添加到已启用并配置 NRPE 的池中,XenCenter® 不会自动将池的 NRPE 设置应用于新主机。您必须在新主机添加到池后重新配置池上的 NRPE 设置,或者在将新主机添加到池之前使用相同的 NRPE 设置配置新主机。
    注意:
    在新主机添加到池后重新配置池上的 NRPE 设置时,请确保主机已启动并正在运行。
  • 如果从已启用并配置 NRPE 的池中移除主机,XenCenter 不会更改主机或池上的 NRPE 设置。

使用 xe CLI 配置 NRPE

您可以使用 xe CLI 或 XenCenter 配置 NRPE。有关如何使用 XenCenter 配置 NRPE 的更多信息,请参阅 使用 NRPE 监控主机和 dom0 资源。
对 NRPE 进行配置更改后,使用以下命令重启 NRPE 服务:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=restart

启用 NRPE

NRPE 在 XenServer 中默认禁用。要在主机的控制域 (dom0) 上启用 NRPE,请在 xe CLI 中运行以下命令:
  1. 获取要监控的主机的 UUID:
    xe host-list
  2. 在主机上启用 NRPE:
    xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=enable
    如果操作成功运行,此命令将输出 Success。当 XenServer 重启时,NRPE 会自动启动。
要停止、启动、重启或禁用 NRPE:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=<operation>
其中 operation 为 stop、start、restart 或 disable。

监控服务器

这是一个逗号分隔的 IP 地址或主机名列表,这些地址或主机名被允许与 NRPE 守护程序通信。支持带位掩码的网络地址(例如 192.168.1.0/24)。
查看当前监控服务器列表:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-config args:allowed_hosts
允许监控工具执行检查:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=set-config args:allowed_hosts=<IP address or hostname>
查询所有 NRPE 设置:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-config
配置多个 NRPE 设置:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=set-config args:allowed_hosts=<IP address or hostname> args:ssl_logging=<SSL log level> args:debug=<debug log level>

日志

调试日志记录

默认情况下,调试日志记录处于禁用状态。
要检查调试日志记录是否已启用,请运行以下命令:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-config args:debug
如果返回 debug: 0,则调试日志记录处于禁用状态。
要启用调试日志记录:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=set-config args:debug=1

SSL 日志记录

默认情况下,SSL 日志记录处于禁用状态:
ssl_logging=0x00
要检查 SSL 日志记录是否已启用,请运行以下命令:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-config args:ssl_logging
要启用 SSL 日志记录:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=set-config args:ssl_logging=0x2f

警告和严重阈值

对于其中一些检查插件,您可以设置警告和严重阈值。如果检查插件返回的值超过阈值,则会生成警报。警告阈值表示潜在问题,而严重阈值表示需要立即关注的更严重问题。尽管已为警告和严重阈值设置了默认值,但您可以调整这些阈值。
要查询所有检查的默认警告和严重阈值,请运行以下 xe CLI 命令,该命令将返回所有检查及其关联的警告和严重阈值列表:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-threshold
您还可以查询特定检查的阈值。例如,要获取 check_memory 检查插件的警告和严重阈值,请运行以下 xe CLI 命令:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-threshold args:check_memory
您还可以更改阈值的默认值。例如,要更改 check_memory 检查插件的默认阈值,请运行以下 xe CLI 命令:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=set-threshold args:check_memory args:w=75 args:c=85