End2End für Skype for Business Network Assessment
Microsoft hat Ende September 2016 ein neues Tool zur Ermittlung der Paketlaufzeit zu Edge-Servern veröffentlicht. Auf der Seite SfB Online Network Assessment Tool habe ich die grundlegende Arbeitsweise vorgestellt. Das Tool kann natürlich auch wunderbar zu einer Art Dauermessung mit PRTG eingesetzt werden.
Hinweis: Im Nov 2017 hat Microsoft das SfB Online Network Assessment Tool aktualisiert. Ich muss dazu den Sensor anpassen, da z.B. die TSV-Datei umbenannt wurden etc. Update ist aber schon in Arbeit.
Überlegungen
Das SfB Online Network Assessment Tool prüft je nach Konfiguration die Verbindung durch synthetische VoIP-Anrufe über einen Edge-Server von Microsoft. Es läuft dann aber aktiv und daher wollte ich das Skript nicht als Sensor umsetzen, der von PRTG gestartet wird.
Ich habe daher den alternativen Weg gewählt, dass das Skript losgelöst von PRTG durch den Windows Task-Planer gestartet wird und die Ergebnisse an PRTG übergibt. Für die Übergabe bediene ich mich dem PRTG:HTTPPush-Sensoren. Das hält die Last auf dem PRTG-Server gering und die Messung kann auf jedem PC erfolgen, der mit dem Edge-Server von SfB Online kommunizieren kann. Auf dem Endpunkt muss nichts von PRTG selbst installiert sein.
Installation und Konfiguration
Zuerst müssen Sie auf dem Computer natürlich das SfB Online Network Assessment Tool installieren, was genau genommen nur ein auspacken ist. Da das Programmer aber nur einen VoIP-Call ausführt, muss die Konfiguration entsprechend geändert werden, damit es mehrere Anrufe hintereinander durchführt. Da ein Anruf normalerweise 17 Sekunden dauert und das Tool dann 5 Sekunden Pause einlegt, wäre , würde ich 13 Anrufe konfigurieren.
Sie können natürlich auch "IntervalInSeconds" auf 13 stellen, damit aus 17 Sek Sprach + 13 Sek Pause wieder 30Sek Laufzeit werden und dann mit "NumInterations = 10" daraus einen 5 Min test machen. Sie haben hier alle Freiheiten. Sie können das Skript ja einfach einmal direkt aufrufen und schauen, wie lange es läuft:
measure-command {.\NetworkAssessmentTool.exe}
Sie können die Daten natürlich an ihre Umgebung anpassen.
Auswertung
Das SfB Online Network Assessment Tool schreibt die Ergebnisse relativ unspektakulär in eine TSV-Datei mit einer Zeile pro Messung. Das von Microsoft mitgelieferte Programm "ResultsAnalyzer.exe" liefert leider keine direkt verwertbare Ausgabe zurück. Daher lese ich selbst die result.tsv ein und ermittle die Messwerte. "ResultsAnalyzer.exe" ermittelt dazu den 90% Perzentil, d.h. den Wert, bei dem 90% der anderen Werte drunter sind. Ich nehme vereinfacht die 15 Messpunkte pro Wert, sortiere diese und werde den zwei höchsten Wert aus. das ist dann etwa 93%.
PRTG-Code
Das ganze habe ich dann in ein PowerShell-Skript eingepackt, welches Sie am besten mit in das Programmverzeichnis kopieren, in dem auch das SfB Online Network Assessment Tool installiert ist. Das kann ein Client sein, wenn Sie den Test von Client zum SfB Online Edge durchführen oder natürlich auch ihre SfB Edge Server ihrer On-Premises-Umgebung.
Das Skript nutzt "Invoke-Webrequest" und benötigt daher mindestens PowerShell 3.0 oder höher.
Wenn Sie die Adresse des PRTG-Servers und die GUID des Sensors nicht per Parameter übergeben wollen, dann sollten Sie die Werte hier im Skript direkt ändern.
end2end-sfbassessment.ps1.txt
Download und Extension entfernen.
Kopieren Sie das Skript in das Verzeichnis, in dem auch das Assessment Tool installiert ist und passen Sie den Parameter für den PRTG-Server entsprechend an.
Das Skript wird nicht als "PRTG - Custom Sensor" eingebunden sondern ist ein eigenständig laufendes Programm, welches Sie per Bedarf starten oder durch den Taskplaner beim Start des Computers mit laufen lassen können. Es sammelt die Daten und meldet sie per PRTG - HTTP Push-Sensoren an die hinterlegte PRTG-Instanz. Das Skript ist in der Form natürlich sehr rudimentär und enthält keine Fehlerbehandlung o.ä. Inwieweit die Werte Stimmig sind, sollten Sie überprüfen. Viel Arbeit nimmt ihnen aber PRTG schon ab, da es ausbleibende Meldungen alleine als Fehler erkennt.
Einrichtung in PRTG
Auf der Seite PRTG:HTTPPush-Sensoren gehe ich genauer auf die Einrichtung von PRTG HTTP Push-Sensoren ein. Denken Sie daran, nach der Einrichtung über den Assistenten die Werte für das Messintervall (Per Default 60 Sek) auf vielleicht 5 Minuten zu stellen, wenn Sie im Skript ebenfalls ca. 5 Minuten messen. Andere Werte sind natürlich möglich.
Wichtig
Leider ist das Programm "NetworkAssessmentTool.exe" nicht
100% für den unbewachten Betrieb ausgelegt. Es kann schon
mal passieren, dass das Programm mit einer Schutzverletzung
"stehen" bleibt und Sie den Fehler in einem Dialog
bestätigen müssen. Konfigurieren Sie den Sensor daher so,
dass Sie eine Meldung bei ausbleibenden Daten bekommen.
Ergebnisse
Es dauert dann natürlich ein paar Minuten, bis die ersten Daten eintrudeln. In der Übersicht zeigen die klassischen Gauge-Anzeigen die verschiedenen Werte der letzten Messung an:
Über die Anzeige der Live-Daten sehen sie den Verlauf über die letzten 24 Stunden:
Die Tabelle zeigt schön, wann genau welche Werte erfasst wurden. Später wird man die Daten auch über längere Zeiträumen sehen. Wobei dies für die Auswertung nur dahingehend interessant ist, wenn eine grundlegende Verbesserung oder Verschlechterung quasi als "Stufe" sichtbar wird. Ansonsten bringen weiter gemittelte Werte keinen Informationsgewinn. Interessant ist aber schon die Anzeige über 2 oder mehr Tage und den Einfluss der "Arbeitszeit" auf die Leistung. Hier ist gut zu sehen, dass andere Anwender die gleiche Leitung "tagsüber" nutzen und sich damit die Laufzeit erhöht:
Noch deutlicher wird das in einer 7-Tage-Ansicht offensichtlich.
Während der Arbeitszeit geht die RTT an diesem Anschluss von ca. 50ms auf 70ms hoch. Für eine Edge zu Edge-Anbindung wird damit die Grenze von 60ms schon überschritten.
Offen
Das Auswerte-Tool von Microsoft liefert noch ein "FAIL" oder "PASS", je nach den ermittelten Werte und bezogen auf einen Client oder eine Edge-zu-Edge-Verbindung.
Die Werte, anhand denen ResultsAnalyzer.exe diese Entscheidung trifft, stehen in der Dokumentation, die im ZIP-Archiv enthalten ist. Das Skript könnte diese ebenfalls ermitteln, als Wert mit ausgeben und den Status setzen, z. B: eine Warnung ausgeben.
Wert | Client zu Edge | Edge zu Edge |
---|---|---|
Packet loss rate | <10% in einem 200ms Intervall |
<1% in einem 200ms Intervall |
RTT Latency | <100ms |
<60ms |
Jitter | <30ms innerhalb 15s Intervall |
<15ms innerhalb 15s Intervall |
Packet Reorder | <0,05% |
<0,01% |
- Media Quality and Network Connectivity
Performance in Skype for Business Online
https://support.office.com/en-us/article/Media-Quality-and-Network-Connectivity-Performance-in-Skype-for-Business-Online-5fe3e01b-34cf-44e0-b897-b0b2a83f0917
Weitere Links
- RTP-Portcheck
- PRTG:HTTPPush-Sensoren
- End2End-HTTP
- PRTG
- PRTG:QoS Sensor
- End2End-Monitoring
- SfB Online Network Assessment Tool
- End2End-O365
-
Stream Classification in Call Quality
Dashboard
https://docs.microsoft.com/de-de/SkypeForBusiness/using-call-quality-in-your-organization/stream-classification-in-call-quality-dashboard -
Turn your free SIP softphone into a voice
quality monitoring instrument with Sevana's
NIQA application
http://sevana.biz/turn-your-free-sip-softphone-into-a-voice-quality-monitoring-instrument-with-sevanas-niqa-application/
Eventuell auch ein Ansatz weitere Checks einzubinden -
Media Quality and Network Connectivity
Performance in Skype for Business Online
https://docs.microsoft.com/en-us/skypeforbusiness/optimizing-your-network/media-quality-and-network-connectivity-performance -
Network Assessor for Skype for Business and
Microsoft Teams
https://www.myteamslab.com/2017/08/network-assessor-for-skype-for-business.html
Startet das Microsoft Tool im Hintergrund und zeigt die Ergebnisse grafisch an -
Proxy Servers for Skype for Business Online
https://docs.microsoft.com/en-us/skypeforbusiness/optimizing-your-network/proxy-servers-for-skype-for-business-online -
Network Assessor for Skype for Business
Online and Microsoft Teams
https://gallery.technet.microsoft.com/Network-Assessor-for-Skype-27675675
https://www.myskypelab.com/2017/08/network-assessor-for-skype-for-business.html -
Improving Real-Time Application Performance
https://www.plixer.com/blog/network-monitoring/improving-real-time-application-performance/