SSH(性能)
- Last Updated: October 16, 2024
- 4 minute read
SSH 监控器使用 SSH 身份验证来连接远程设备,以执行命令或脚本,可以嵌入监控器中或作为可执行脚本文件放在远程计算机上,在监控器中嵌入一条命令来运行该脚本。每个监控器返回单个数值,将记录到数据库中,然后按需供其他 WhatsUp Gold 功能使用。
为监控器提供唯一名称和描述,然后配置以下信息:
-
要运行的命令
。输入要在远程设备上运行和执行的命令。可以是设备能够解释和运行的任何命令;例如 Unix shell 命令或 perl 脚本。请注意,若要创建在远程设备上运行的脚本,就必须在远程计算机上编写、测试和/或调试。选择其中一个脚本选项:
-
数字
。命令或脚本必须返回一个数值。脚本的复杂度不限,但只能返回数值,例如,旧的单行 Unix 样式:
free -m | awk 'NR==2{print $3}'这是 WhatsUp Gold 16.2.3 版之前所需的脚本格式。 -
Shell 互动
。这个脚本不一定要返回单一数值,但输出结果必须包含“Result=xxxx”字符串 (xxxx 代表数值)。例如,新的多行 Linux 样式为:
echo Result=$(free -m | awk 'NR==2{print $3}'),这种新的脚本格式支持目标脚本编译程序的所有功能,让脚本开发人员不必费力将输出结果限制为单一数值。
-
数字
。命令或脚本必须返回一个数值。脚本的复杂度不限,但只能返回数值,例如,旧的单行 Unix 样式:
注:
从 v18.0.2 开始,
Shell Interactive
选项支持用户定义的自定义正则表达式,使 WhatsUp Gold 能够成功地从某些嵌入式系统(包括路由器、交换机和 Integrated Dell Remote Access Controllers (iDRAC))收集性能数据。要在配置 SSH 性能监控工具时启用此功能,请在选中
Shell Interactive
选项的情况下启用
Use Custom Regex(使用自定义正则表达式)
复选框。
示例:默认正则表达式
命令:
<输出默认格式结果的命令>
输出:
Result=15
当使用此输出运行默认正则表达式时,它在
Result=15
时匹配。捕获组将
15
视为结果,因此这是 WhatsUp Gold 作为轮询结果存储的值。捕获组内的正则表达
[0-9.,]+
匹配任何一个或多个
0-9
的数字、小数点和逗号,但该值应该只有一个小数或逗号,才能正确地解析成一个数字。如果对
Result=A33
运行相同的正则表达式,则不会匹配。但是,
Result=33A
会匹配
Result=33
,而捕获组会认为
33
是结果。
例如:自定义正则表达式
要使用以下命令"
racadm getconfig -g cfgServerPower
”通过 iDRAC 管理界面监控 Dell R710(具体统计数据为
cfgServerPowerLastMinAvg
)的电源使用情况,输入以下正则表达式。请注意,下面仅包含表达式的相关行。
# cfgServerPowerStatus=1
(截取)
cfgServerPowerCapEnable=0
# cfgServerPowerLastMinAvg=357 AC W | 1218 Btu/hr
# cfgServerPowerLastHourAvg=359 AC W | 1225 Btu/hr
(为简短而截取)
本例中用于捕获最后一分钟平均瓦特使用率的正则表达式是
cfgServerPowerLastMinAvg=([\d]+)
,寻找的是
cfgServerPowerLastMinAvg=
加一到多个数字。作为轮询结果返回的值可能是
357
,因为
[\d]+
属于捕获组
()
内。请注意,所指定的正则表达式必须包含一个捕获组
()
,方可将轮询结果返回给 WhatsUpGold。
监控器仅消耗它在输出中找到的最后一个匹配项。
即使
执行的命令返回数千个结果
,WhatsUp Gold 也只记录最后一个匹配
。
有关
.Net 默认正则表达式选项
的更多信息,可以在
此处
找到。
如果 WhatsUp Gold 在根据返回的输出处理正则表达式时找不到匹配项,则性能错误日志将包含从设备接收的原始输出。您可以使用此信息来解决监控器配置中指定的正则表达式模式的问题。
- 行末字符 。选择相应的行末类型:“无”、“换行”、“回车” 或 “回车换行”。多行脚本是在 Windows 操作系统上输入和保存的,并且包含目标设备可能不识别的行末字符。此配置功能会指示 WhatsUp Gold 在连接和执行命令以前,先用所选的字符替换行末字符。