Function netstat {
Get-WmiObject Win32_PerfFormattedData_Tcpip_NetworkInterface | where{$_.Name -eq "vmxnet3 Ethernet Adapter"} | % { 'OK | Rx-B/s=
{0:0}; Tx-B/s={1:0}' -f ($_.BytesReceivedPersec), ($_.BytesSentPersec)}
}
我创建了上述 powershell 脚本来使用 Nagios 绘制网络接口图。
我担心的是,nagios 每 10 分钟轮询一次客户端并执行此脚本。因此,只会报告轮询时的统计数据。我如何通过修改脚本以便实时收集数据或任何其他方式使报告实时?
答案1
不要使用 PowerShell 脚本,而是CheckCounter
使用Check_Pdh
CheckSystem 模块它由 NSClient++ 提供 - 它就是为此而构建的。
传递给 check_nrpe 的计数器名称将是类似的:
\Network Interface(vmxnet3 Ethernet Adapter)\Bytes Sent/sec
\Network Interface(vmxnet3 Ethernet Adapter)\Bytes Received/sec
尽管你可能需要转义斜线(见本文)