26. 09. 2017 Patrick Zambelli Capacity Management, Nagios, Nagios Plugins

Überwachung des Netzwerk-Traffics auf Microsoft Hyper-V Servern via PowerShell

Die Überwachung des Netzwerk-Traffics auf Netzwerkgeräten basiert traditionell auf SNMP-Abfragen. Mittels vorgefertigter Programmbefehle können die Statistiken zur Übertragung von Datenpaketen einer oder mehrerer Netzwerkschnittstellen via SNMP abgefragt werden.

Während die Abfragen auf Netzwerkgeräten auch heute noch via SNMP abgefragt werden, so bedarf es bei der Abfrage dieser Informationen im Bereich der Microsoft Hyper-V-Server anderer Ansätze. Der Grund liegt in der Konfiguration der Netzwerkanbindung: So werden beispielsweise mehrere physikalische Netzwerkschnittstellen einer Hyper-V Appliance zu einer logischen Schnittstelle gebündelt, welche den Netzwerk-Traffic auch transparent über mehrere Netzwerkgeräte verteilen kann. Auf diese Art kann der Netzwerk-Traffic z.B. auf mehrere Switche verteilt werden und gleichzeitig die Ausfallsicherheit erhöht werden. Ein weiterer Grund zur Suche nach Alternativen ist die eingestellte Weiterentwicklung der SNMP-Implementierung durch Microsoft.

Schematisch dargestellt könnte eine physikalische Netzwerkverkabelung wie folgt aussehen: Ein physikalischer Hyper-V Host verfügt über 2 aktive physikalische Netzwerkanbindungen, welche über zwei Switche am Netzwerk angeschlossen warden.

Schematische Netz- und Verbindungsdarstellung

Schematische Netz- und Verbindungsdarstellung

Diese Architektur wird auf logischer Ebene (innerhalb der Microsoft Hyper-V Infrastruktur) um eine weitere Ebene erweitert: den virtuellen Hyper-V Netzwerk-Adapter. Dieser bildet die Schnittstelle für die dahinterliegende Hyper-V Infrastruktur, um Datenpakete an das Netzwerk zu übertragen. Eine Abbildung dieser Infrastruktur könnte in diesem Beispiel wie folgt aussehen:

Schematische Netz- und Verbindungsdarstellung mit Hyper-V-Netzwerkvirtualisierung

Schematische Netz- und Verbindungsdarstellung mit Hyper-V-Netzwerkvirtualisierung

Hier wird ersichtlich, dass unter Betrachtung der physikalischen Schnittstellen keine ganzheitliche Übertragungsstatistik, weder am Switch noch am Server selbst, berechnet werden kann. Beispiel: Summiert man den gesamten Traffic welcher auf “Core Switch 1” eintrifft, erhält man einen Überblick über die gesamte Hyer-V Infrastruktur, kann aber nicht abgrenzen, wieviel Traffic ein einzelner Hyper-V Host generiert, da sein Traffic über mehrere Switche verteilt wird. Aus diesem Grunde ist die Messung des Netzwerk-Traffics unter Betrachtung der logischen Schnittstelle, in unserem Beispiel ‘VM1’, notwendig.

Zur Erreichung dieses Ziels wurde ein Ansatz basierend auf PowerShell-Befehlen gewählt, welcher ein Script am Hyper-V via NSClient++ aufruft. Dieses Script basiert auf dem “Get-NetAdapter” Befehl und liefert via “Get-NetAdapterStatistics” die Übertragungsstatistiken aller logischen Netzwerkschnittstellen. Diese Statistiken bestehen aus einem Zählerstand in Bytes und müssen in einem nächsten Schritt auf das Intervalls berechnet werden, welches seit dem letzten Aufruf verstrichen ist.

Das Ergebnis der Berechnung wird in das Nagios Standardformat zur Rückgabe an das NetEye formatiert und dort als Text und Performancegrafik abgebildet.

neteye_perfData

Die grafische Abbildung erfolgt in bisher bekannten PNP4Nagios graph und in der neuesten Version auch in der auf InfluxDB basierenden Grafana Grafik.

neteye_perfGraph

Das PowerShell script sowie eine kurze Anleitung zur Konfiguration am NSClient++ (Version 0.4.x) finden sie in diesem Zip-File: netAdapterStatistics

 

Patrick Zambelli

Patrick Zambelli

Project Manager at Würth Phoenix
After my graduation in Applied Computer Science at the Free University of Bolzano I decided to start my professional career outside the province. With a bit of good timing and good luck I went into the booming IT-Dept. of Geox in the shoe district of Montebelluna, where I realized how a big IT infrastructure has to grow and adapt to quickly changing requirements. During this experience I had also the nice possibility to travel the world, while setting up the various production and retail areas of this company. Arrived at Würth Phoenix I started developing on our monitoring solution NetEye. Today, in my position as Consulting an Project Manager I am continuously heading to implement our solutions to meet the expectation of your enterprise customers.

Author

Patrick Zambelli

After my graduation in Applied Computer Science at the Free University of Bolzano I decided to start my professional career outside the province. With a bit of good timing and good luck I went into the booming IT-Dept. of Geox in the shoe district of Montebelluna, where I realized how a big IT infrastructure has to grow and adapt to quickly changing requirements. During this experience I had also the nice possibility to travel the world, while setting up the various production and retail areas of this company. Arrived at Würth Phoenix I started developing on our monitoring solution NetEye. Today, in my position as Consulting an Project Manager I am continuously heading to implement our solutions to meet the expectation of your enterprise customers.

Leave a Reply

Your email address will not be published. Required fields are marked *

Archive