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)}
}
Ich habe das obige Powershell-Skript erstellt, um die Netzwerkschnittstelle mit Nagios grafisch darzustellen.
Meine Sorge ist, dass Nagios den Client alle 10 Minuten abfragt und dieses Skript ausführt. Es wird also nur der Status zum Zeitpunkt der Abfrage zurückgemeldet. Wie kann ich die Berichterstattung in Echtzeit durchführen, indem ich entweder das Skript so ändere, dass die Daten in Echtzeit erfasst werden, oder auf andere Weise?
Antwort1
Anstelle eines PowerShell-Skripts verwenden Sie den Befehl CheckCounter
/ Check_Pdh
aus demModul CheckSystemdas mit NSClient++ geliefert wird – es ist im Wesentlichen dafür konzipiert.
Der an check_nrpe übergebene Zählername sieht ungefähr so aus:
\Network Interface(vmxnet3 Ethernet Adapter)\Bytes Sent/sec
\Network Interface(vmxnet3 Ethernet Adapter)\Bytes Received/sec
Möglicherweise müssen Sie die Schrägstriche maskieren (sieheDieser Artikel)