使用 NRPE 监控主机和 dom0 资源
具有池管理员角色的用户可以使用任何支持 Nagios 远程插件执行器 (NRPE) 的第三方监控工具来监控您的 XenServer® 主机和 dom0(即主机的控制域)所消耗的资源。
您可以使用以下检查插件来监控主机和 dom0 资源:
| 指标 | NRPE 检查名称 | 描述 | 默认警告阈值 | 默认严重阈值 | 返回的性能数据 |
|---|---|---|---|---|---|
| 主机 CPU 负载 | check_host_load | 获取并检查主机每个物理 CPU 的当前负载,其中负载是指处于运行或可运行状态的 vCPU 数量。 | 3 | 4 | 主机 CPU 的当前系统负载(通过计算主机物理 CPU 的平均负载得出)。 |
| 主机 CPU 使用率 (%) | check_host_cpu | 获取并检查主机的当前平均整体 CPU 使用率。 | 80% | 90% | 当前空闲的主机 CPU 百分比和正在使用的主机 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 | 通过计算过去 1、5 和 15 分钟的平均值来获得的主机 CPU 负载数据。 |
| 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 与监控工具之间进行通信,监控工具必须支持带有密码
ECDHE-RSA-AES256-GCM-SHA384和ECDHE-RSA-AES128-GCM-SHA256的 TLS 1.2,并且 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
<!--NeedCopy-->
启用 NRPE
NRPE 在 XenServer 中默认禁用。要在主机的控制域 (dom0) 上启用 NRPE,请在 xe CLI 中运行以下命令:
-
获取要监控的主机的 UUID:
xe host-list -
在主机上启用 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>
<!--NeedCopy-->
其中 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
<!--NeedCopy-->
允许监控工具执行检查:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=set-config args:allowed_hosts=<IP address or hostname>
<!--NeedCopy-->
查询所有 NRPE 设置:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-config
<!--NeedCopy-->
配置多个 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>
<!--NeedCopy-->
日志
调试日志记录
默认情况下,调试日志记录处于禁用状态。
要检查调试日志记录是否已启用,请运行以下命令:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-config args:debug
<!--NeedCopy-->
如果返回 debug: 0,则表示调试日志记录已禁用。
要启用调试日志记录:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=set-config args:debug=1
<!--NeedCopy-->
SSL 日志记录
默认情况下,SSL 日志记录处于禁用状态:
ssl_logging=0x00
<!--NeedCopy-->
要检查是否启用了 SSL 日志记录,请运行以下命令:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-config args:ssl_logging
<!--NeedCopy-->
要启用 SSL 日志记录:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=set-config args:ssl_logging=0x2f
<!--NeedCopy-->
警告和严重阈值
对于其中一些检查插件,您可以设置警告和严重阈值,以便如果检查插件返回的值超过阈值,则会生成警报。警告阈值表示潜在问题,而严重阈值表示需要立即关注的更严重问题。尽管已为警告和严重阈值设置了默认值,但您可以调整这些阈值。
要查询所有检查的默认警告和严重阈值,请运行以下 xe CLI 命令,该命令将返回所有检查及其关联的警告和严重阈值列表:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-threshold
<!--NeedCopy-->
您还可以查询特定检查的阈值。例如,要获取 check_memory 检查插件的警告和严重阈值,请运行以下 xe CLI 命令:
xe host-call-plugin host-uuid=<host uuid> plugin=nrpe fn=get-threshold args:check_memory
<!--NeedCopy-->
您还可以更改阈值的默认值。例如,要更改 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
<!--NeedCopy-->