我试图让 NCPA 在服务器上执行 PowerShell 脚本,同时为其提供参数。我以前这样做过,并且有 3 个不同的脚本按预期运行。这个没有。
为了简短起见,我尝试使用Get-Counter
来获取性能计数器并提供路径作为参数。
该脚本当前如下所示:
$count = $args[0]
$warn = 1500
$crit = 2000
$Data = Get-Counter -Counter $count
$Raw = $Data.CounterSamples.CookedValue
Write-Host "$Raw | 'Counter'=$Raw;$warn;$crit;0;3000"
if ($Raw -gt $crit) {
exit 2
} elseif ($Raw -gt $warn) {
exit 1
} else {
exit 0
}
这通过以下方式从 Nagios 服务器调用:
/usr/local/nagios/libexec/check_ncpa.py -H 192.168.**.** -t 'randomkeystringstuff' -P 5693 -M plugins/counter.ps1 -a "'\Processor Information(_Total)\% Processor Time'"
直接在脚本中填充计数变量是可行的。然后我也可以通过 Nagios 执行它而不会出错。但是使用参数返回
Get-Counter:内部性能计数器 API 调用失败。错误:c0000bc4。
当您提供不存在的路径时,这是相同的错误。
由于我已经在其他三个脚本中完美地使用了参数方法,因此我假设某种字符串或类型不匹配等。