PRTG - USNChange

Im Active Directory ändert sich andauern etwas. Benutzer melden sich an, ändern Kennworte, Gruppenmitgliedschaften ändern sich usw.

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.

Weitere Links