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
Хотя вам, возможно, придется экранировать косые черты (см.Эта статья)