PRTG - USNChange
Im Active Directory ändert sich andauern etwas. Benutzer melden sich an, ändern Kennworte, Gruppenmitgliedschaften ändern sich usw.
Siehe dazu auch Get-USNChanges
Aufgabenstellung
In dem Zuge habe ich mir überlegt, ob diese Menge an Änderungen numerisch erfasst werden kann und welchen Sinn eine solche Überwachung haben könnte. Technisch ist es einfach, da jeder Domaincontroller für sich eine Nummerierung mit führt, die bei jeder Änderung einfach weiter erhöht wird. Würde ein Sensor diese Nummer periodisch abfrage und die Differenz zur vorherigen Nummer auslesen, dann wäre dies ein guter Indikator für die Änderungshäufigkeiten auf diesem Domänencontroller. Die USN ist übrigens unabhängig von den Partition auf dem DC. Wer also einen GC überwacht, dürfte zumindest alle Änderungen mit bekommen, die forestweit erfolgen und sich im GC wiederspiegeln. Das dürfte dann schon die relevanten Felder sein
Installation und Konfiguration
Das Skript ist darauf ausgelegt, auf einem Windows System mit installiertem PRTG-Sensor gestartet zu werden. Anders als die Exchange Sensoren PRTG ExMetric und PRTG ExTracking kommt dieser Sensor aber ohne Exchange Commandlets aus und die rein lesende Abfrage des AD, genauer der RootDSE, geht sogar mit den Berechtigungen des Sensors.
prtg-usnchanges.ps1.txt
PowerShell Sensor für PRTG
Der Sensor wird als "Custom Sensor EXE/XML" angelegt.
- Execution Policy der 32bit
PowerShell
muss auf RemoteSigned oder schwächer gestellt werden - Credentials
Das Skript kann im Security Context der Probe laufen, wenn der Windows PC Mitglied der Domäne ist. - Timeout anpassen
Der Default von 60 Sekunden sollte problemlos möglich zu halten sein. Viel länger dürfte das Skript nicht brauchen.. - Scanlintervall
Der Default von 60 Sekunden ist durchaus möglich. Aber wenn Sie es nicht so "genau" brauchen, können Sie natürlich das Intervall auch etwas höher stellen, z.B. 5 Minuten. - Ausgabe in DEBUG-Datei
Es kostet kaum Performance aber erleichtert ungemein die Fehlersuche, wenn Sie die Ausgaben auch in eine Datei schreiben lassen. - Parameter
Geben Sie unbedingt per Parameter den DC oder die Liste der DCs an, deren HighestCommitedUSN sie abfragen wollen. Gültige Trennzeichen sind Komma, Semikolon oder Leerzeichen.
Ausgabe
Die Ausgabe ist wieder PRTG-Typisch und unspektakulär. Ein paar Grafen mit verschiedenen Linien, die entsprechend die Werte der gemessenen Daten über die Zeitachse anzeigen. Ich habe hier erst mal nur "einen" DC angezeigt.
Hier ist gut zu sehen, dass es eine relativ gleichmäßige Grundlast von ca. 6-8 Änderungen /Sek gibt aber auch regelmäßige Peaks enthalten sind. Diese Peaks sind genau die Zeiten, an denen ein Identity Management und Provisioning-Skripte Änderungen durchführen.