Я пытаюсь получить показатели производительности интерфейса через nagios и nsclient ++, выполнив скрипт PowerShell. Ниже приведена основная часть сценария powershell.Мониторинг сетевого интерфейса Windows
Function netstat {
'{0:0}' -f (Get-WmiObject Win32_PerfRawData_Tcpip_NetworkInterface |
where{$_.Name -eq "vmxnet3 Ethernet Adapter"} |
select BytesReceivedPersec,BytesSentPersec)/1KB)
}
Я хочу выход быть в МБ/с и изменить заголовок Tx MB/s
и Rx MB/s
. Сейчас я получаю следующий результат.
PS C:\Users\Administrator> Get-WmiObject Win32_PerfRawData_Tcpip_NetworkInterface | where{$_.Name -eq "vmxnet3 Ethernet Adapter"} | select BytesReceivedPersec, BytesSentPersec
BytesReceivedPersec BytesSentPersec
------------------- ---------------
12720975895 438054511
Я также попытался использовать check_wmi
модуль NSClient ++, как это.
check_nrpe -H 10.35.136.221 -c check_wmi -a 'query=select BytesReceivedPersec, BytesSentPersec from Win32_PerfRawData_Tcpip_NetworkInterface where name = "vmxnet3 Ethernet Adapter"'
И я получаю следующий выход.
12719626616, 437766199
Как я могу сделать результат вышеуказанного результата проверки, как показано ниже?
Rx MB/s : 12719626616 Tx MB/s : 437766199
Это работает и благодарит вас, Ансгар. Тем не менее, я обеспокоен, если это правильный способ получить сетевую статистику интерфейса. Я попытался скопировать файл над рассматриваемой машиной и отслеживал диспетчер задач и вывод этой команды. Кажется, они не отражают одно и то же, или я ошибаюсь? –
@RajS Вместо этого вы можете запросить класс ['Win32_PerfFormattedData_Tcpip_NetworkInterface'] (https://msdn.microsoft.com/en-us/library/aa394293%28v=vs.85%29.aspx). –
Функция netstat { $ nstat = Get-WmiObject Win32_PerfFormattedData_Tcpip_NetworkInterface | где {$ _. Name -eq "vmxnet3 Ethernet Adapter"} | выберите @ {n = "Rx MB/s"; e = {$ _. BytesReceivedPersec /1MB}}, @ {n = "Tx MB/s"; e = {$ _. BytesSentPersec/1MB}} ' ОК | {0: 0} '-f ($ nstat) }. Я пытаюсь получить вывод этой функции как «ОК | Tx MB/s = ..., Rx MB/s = ..., но я получаю следующий вывод. OK | '@ {Rx' = 0 'MB/s' = 0 'Tx' = 0 'MB/s' = 0} –