Überwachen von Datenbankverfügbarkeitsgruppen

GILT FÜR:yes-img-162016 yes-img-192019 yes-img-seSubscription Edition

Sie können die Informationen in diesem Thema verwenden, um die Postfachdatenbankkopien für Datenbankverfügbarkeitsgruppen (DAGs, Database Availability Groups) zu überwachen und Diagnoseinformationen zu sammeln sowie um einen Schwellenwert zur Überwachung geringen Speicherplatzes zu konfigurieren.

Cmdlet "Get-MailboxDatabaseCopyStatus"

Mithilfe des Cmdlets Get-MailboxDatabaseCopyStatus können Sie Statusinformationen zu Postfachdatenbankkopien anzeigen. Dieses Cmdlet ermöglicht Ihnen die Anzeige von Informationen über alle Kopien einer bestimmten Datenbank, über eine bestimmte Kopie einer Datenbank auf einem bestimmten Server oder über alle Datenbankkopien auf einem Server. In der folgenden Tabelle werden mögliche Werte für den Kopiestatus einer Postfachdatenbankkopie beschrieben.

Status der Datenbankkopie

Status der Datenbankkopie Beschreibung
Fehlgeschlagen Die Postfachdatenbankkopie weist einen Fehlerzustand auf, da sie nicht angehalten wurde und keine Protokolldateien kopieren oder wiedergeben kann. Während sie sich im Fehlerzustand befindet und nicht angehalten wurde, überprüft das System in regelmäßigen Abständen, ob das Problem, das den fehlerhaften Kopierstatus verursacht hat, behoben wurde. Sobald das System ermittelt, dass das Problem gelöst wurde und keine weiteren Probleme vorliegen, wird der Kopierstatus automatisch in Healthy geändert.
Seeding Für die Postfachdatenbankkopie, den Inhaltsindex für die Postfachdatenbankkopie oder für beides wird ein Seeding durchgeführt. Bei erfolgreichem Abschluss des Seedingvorgangs sollte der Kopierstatus sich in Initializing ändern.
SeedingSource Die Postfachdatenbankkopie wird als Quelle für einen Seedingvorgang für die Datenbankkopie verwendet.
Suspended Die Postfachdatenbankkopie befindet sich in angehaltenem Zustand, weil ein Administrator die Datenbankkopie manuell durch Ausführen des Cmdlets Suspend-MailboxDatabaseCopy angehalten hat.
Healthy Die Postfachdatenbankkopie kann Protokolldateien erfolgreich kopieren und wiedergeben oder hat alle verfügbaren Protokolldateien erfolgreich kopiert und wiedergegeben.
ServiceDown Der Microsoft Exchange-Replikationsdienst steht nicht zur Verfügung oder wird nicht auf dem Server ausgeführt, der die Postfachdatenbankkopie hostet.
Initializing Die Postfachdatenbankkopie befindet sich in einem Initialisierungszustand, wenn eine Datenbankkopie erstellt wurde, wenn der Microsoft Exchange-Replikationsdienst gestartet wird oder gerade gestartet wurde und während des Übergangs von "Angehalten", "ServiceDown", "Fehlgeschlagen", "Seeding" oder "SinglePageRestore" in einen anderen Zustand. In diesem Zustand überprüft das System, ob sich die Datenbank und der Protokolldatenstrom in einem konsistenten Zustand befinden. In den meisten Fällen verbleibt der Kopier status etwa 15 Sekunden lang im Initialisierungsstatus, aber in der Regel sollte er sich nicht länger als 30 Sekunden in diesem Zustand befinden.
Resynchronizing Die Postfachdatenbankkopie und die zugehörigen Protokolldateien werden mit der aktiven Kopie der Datenbank verglichen, um Unterschiede zwischen beiden Kopien festzustellen. Der Kopierstatus verbleibt in diesem Zustand, bis Unterschiede ermittelt und gelöst wurden.
Mounted Die aktive Kopie ist online und nimmt Clientverbindungen an. Nur die aktive Kopie der Postfachdatenbank kann den Kopierstatus Mounted aufweisen.
Dismounted Die aktive Kopie ist offline und nimmt keine Clientverbindungen an. Nur die aktive Kopie der Postfachdatenbank kann den Kopierstatus Dismounted aufweisen.
Mounting Die aktive Kopie wird online geschaltet und nimmt noch keine Clientverbindungen an. Nur die aktive Kopie der Postfachdatenbank kann den Kopierstatus Mounting aufweisen.
Dismounting Die aktive Kopie wird offline geschaltet, und Clientverbindungen werden beendet. Nur die aktive Kopie der Postfachdatenbank kann den Kopierstatus Dismounting aufweisen.
DisconnectedAndHealthy Die Postfachdatenbankkopie ist nicht mehr mit der aktiven Datenbankkopie verbunden und befand sich beim Unterbrechung der Verbindung im fehlerfreien Zustand. Dieser Status stellt die Datenbankkopie im Hinblick auf die Konnektivität mit ihrer Quelldatenbankkopie dar. Er kann während DAG-Netzwerkfehlern zwischen der Quellkopie und der Zieldatenbankkopie gemeldet werden.
Getrennt und neu synchronisieren Die Postfachdatenbankkopie ist nicht mehr mit der aktiven Datenbankkopie verbunden und befand sich im Status "Neusynchronisierung", als die Verbindung unterbrochen wurde. Dieser Status stellt die Datenbankkopie im Hinblick auf die Konnektivität mit ihrer Quelldatenbankkopie dar. Er kann während DAG-Netzwerkfehlern zwischen der Quellkopie und der Zieldatenbankkopie gemeldet werden.
FailedAndSuspended Die Zustände Failed und Suspended wurden vom System gleichzeitig festgelegt, weil ein Fehler ermittelt wurde und die Lösung des Fehlers explizit einen Administratoreingriff erfordert. Ein Beispiel hierfür ist, wenn das System einen nicht behebbaren Unterschied zwischen der aktiven Postfachdatenbank und einer Datenbankkopie ermittelt. Im Gegensatz zum Zustand Failed prüft das System nicht regelmäßig, ob das Problem behoben wurde, und führt keine automatische Wiederherstellung durch. Stattdessen muss ein Administrator eingreifen, um die zugrunde liegende Ursache des Fehlers zu beheben, bevor die Datenbankkopie in einen fehlerfreien Zustand übergehen kann.
SinglePageRestore Dieser Zustand zeigt an, dass in der Postfachdatenbankkopie ein Wiederherstellungsvorgang für eine einzelne Seite stattfindet.

Das Cmdlet Get-MailboxDatabaseCopyStatus gibt auch Details zu den verwendeten Replikationsnetzwerken zurück, einschließlich IncomingLogCopyingNetwork, das für passive Datenbankkopien zurückgegeben wird, und OutgoingConnections, das für aktive Datenbanken zurückgegeben wird, die mehr als eine Kopie haben, sowie jede Datenbankkopie, die als Quelle für einen Datenbankseedingvorgang verwendet wird. Ausgehende Verbindungsinformationen werden für Datenbankkopien bereitgestellt, die sich in der Dateimodusreplikation befinden. Ausgehende Verbindungsinformationen werden nicht für Datenbankkopien bereitgestellt, die sich in der Blockmodusreplikation befinden.

Beispiele für "Get-MailboxDatabaseCopyStatus"

In den folgenden Beispielen wird das Cmdlet Get-MailboxDatabaseCopyStatus verwendet. In jedem Beispiel wird das Ergebnis an das Cmdlet Format-List ausgegeben, um die Ausgabe im Listenformat anzuzeigen.

In diesem Beispiel werden Statusinformationen für alle Kopien der Datenbank "DB2" zurückgegeben.

Get-MailboxDatabaseCopyStatus -Identity DB2 | Format-List

In diesem Beispiel wird der Status aller Datenbankkopien auf dem Postfachserver "MBX2" zurückgegeben.

Get-MailboxDatabaseCopyStatus -Server MBX2 | Format-List

In diesem Beispiel wird der Status aller Datenbankkopien auf dem lokalen Postfachserver zurückgegeben.

Get-MailboxDatabaseCopyStatus -Local | Format-List

Weitere Informationen zur Verwendung des Cmdlets Get-MailboxDatabaseCopyStatus finden Sie unter Get-MailboxDatabaseCopyStatus.

Cmdlet "Test-ReplicationHealth"

Mithilfe des Cmdlets Test-ReplicationHealth können Sie fortlaufend Informationen über den Replikationsstatus von Postfachdatenbankkopien anzeigen. Dieses Cmdlet kann eingesetzt werden, um alle Aspekte von Replikation und Wiedergabestatus zu überprüfen und sich so einen vollständigen Überblick über einen bestimmten Postfachserver in einer DAG zu verschaffen.

Das Cmdlet Test-ReplicationHealth wurde für die proaktive Überwachung der fortlaufenden Replikation und der fortlaufenden Replikationspipeline, der Verfügbarkeit von Active Manager sowie des Status des zugrunde liegenden Clusterdiensts, Quorums und der zugrunde liegenden Netzwerkkomponenten entwickelt. Es kann lokal oder remote für jeden Postfachserver in einer DAG ausgeführt werden. Das Cmdlet Test-ReplicationHealth führt die in der folgenden Tabelle aufgeführten Tests durch.

Tests des Cmdlets "Test-ReplicationHealth"

Testname Beschreibung
ClusterService Überprüft, ob der Clusterdienst ausgeführt wird und auf dem angegebenen Mitglied der DAG bzw., wenn kein Mitglied der DAG angegeben ist, auf dem lokalen Server erreichbar ist.
ReplayService Überprüft, ob der Microsoft Exchange-Replikationsdienst ausgeführt wird und auf dem angegebenen Mitglied der DAG bzw., wenn kein Mitglied der DAG angegeben ist, auf dem lokalen Server erreichbar ist.
ActiveManager Überprüft, ob die auf dem angegebenen Mitglied der DAG (bzw., wenn kein Mitglied der DAG angegeben ist, auf dem lokalen Server) ausgeführte Instanz von Active Manager in einer gültigen Rolle vorliegt (primär, sekundär oder eigenständig).
TasksRpcListener Überprüft, ob der Tasks-RPC-Server (Remote Procedure Call) ausgeführt wird und auf dem angegebenen Mitglied der DAG bzw., wenn kein Mitglied der DAG angegeben ist, auf dem lokalen Server erreichbar ist.
TcpListener Überprüft, ob der TCP-Protokollkopielistener ausgeführt wird und auf dem angegebenen Mitglied der DAG bzw., wenn kein Mitglied der DAG angegeben ist, auf dem lokalen Server erreichbar ist.
ServerLocatorService Stellt sicher, dass der Active Manager Client/Server auf DAG-Mitgliedern und auf dem Clientzugriffsserver ausgeführt wird, der Lookups in Active Directory und im Aktive Manager ausführt, um festzulegen, wo die Postfachdatenbank eines Benutzers aktiv ist.
DagMembersUp Überprüft, ob alle Mitglieder der DAG verfügbar sind, ausgeführt werden und erreichbar sind.
ClusterNetwork Überprüft, ob alle clusterverwalteten Netzwerke auf dem angegebenen Mitglied der DAG (bzw., wenn kein Mitglied der DAG angegeben ist, auf dem lokalen Server) verfügbar sind.
QuorumGroup Überprüft, ob die Standardclustergruppe (Quorumgruppe) sich in einem fehlerfreien Onlinezustand befindet.
FileShareQuorum Überprüft, ob der für die DAG konfigurierte Zeugenserver sowie das Zeugenverzeichnis und die Zeugenfreigabe erreichbar sind.
DatabaseRedundancy Stellt sicher, dass mindestens eine fehlerfreie Kopie der Datenbanken auf dem angegebenen DAG-Mitglieds bzw., wenn kein Mitglied der DAG angegeben ist, auf dem lokalen Server erreichbar ist.
DatabaseAvailability Überprüft, ob Datenbanken eine ausreichende Verfügbarkeit auf dem angegebenen Mitglied der DAG bzw., wenn kein Mitglied der DAG angegeben ist, auf dem lokalen Server erreichbar ist.
DBCopySuspended Prüft, ob sich Postfachdatenbankkopien auf dem angegebenen Mitglied der DAG bzw., wenn kein Mitglied der DAG angegeben ist, auf dem lokalen Server im Zustand Suspended befinden.
DBCopyFailed Prüft, ob sich Postfachdatenbankkopien auf dem angegebenen Mitglied der DAG bzw., wenn kein Mitglied der DAG angegeben ist, auf dem lokalen Server im Zustand Fehler befinden.
DBInitializing Prüft, ob sich Postfachdatenbankkopien auf dem angegebenen Mitglied der DAG bzw., wenn kein Mitglied der DAG angegeben ist, auf dem lokalen Server im Zustand Initializing befinden.
DBDisconnected Prüft, ob sich Postfachdatenbankkopien auf dem angegebenen Mitglied der DAG bzw., wenn kein Mitglied der DAG angegeben ist, auf dem lokalen Server im Zustand Disconnected befinden.
DBLogCopyKeepingUp Überprüft, ob Protokollkopiervorgang und Inspektion durch die passiven Kopien von Datenbanken auf dem angegebenen Mitglied der DAG (bzw., wenn kein Mitglied der DAG angegeben ist, auf dem lokalen Server) mit der Aktivität zur Protokollgenerierung auf der aktiven Kopie Schritt halten können.
DBLogReplayKeepingUp Überprüft, ob die Wiedergabeaktivität für die passiven Kopien von Datenbanken auf dem angegebenen Mitglied der DAG (bzw., wenn kein Mitglied der DAG angegeben ist, auf dem lokalen Server) mit der Aktivität zur Protokollkopie und -inspektion Schritt halten kann.

Beispiel für "Test-ReplicationHealth"

In diesem Beispiel wird das Cmdlet Test-ReplicationHealth zum Testen des Replikationsstatus für den Postfachserver "MBX1" verwendet.

Test-ReplicationHealth -Identity MBX1

Crimson-Kanal-Ereignisprotokollierung

Windows verfügt über zwei Kategorien von Ereignisprotokollen: Windows-Protokolle sowie Anwendungs- und Dienstprotokolle. Die Kategorie der Windows-Protokolle umfasst die Ereignisprotokolle, die in früheren Versionen von Windows verfügbar waren: Anwendungs-, Sicherheits- und Systemereignisprotokolle. Darüber hinaus gibt es zwei neue Protokolle: Das Setupprotokoll und das ForwardedEvents-Protokoll. In Windows-Protokollen werden Ereignisse aus älteren Anwendungen sowie Ereignisse gespeichert, die für das gesamte System gelten.

Bei Anwendungs- und Dienstprotokollen handelt es sich um eine neue Kategorie von Ereignisprotokollen. Anstelle von Ereignissen, die systemweite Auswirkungen haben können, werden in diesen Protokollen Ereignisse aus einer einzigen Anwendung oder Komponente gespeichert. Diese neue Kategorie von Ereignisprotokollen wird als Crimson-Kanal einer Anwendung bezeichnet.

Die Kategorie "Anwendungs- und Dienstprotokolle" umfasst vier Untertypen: Admin-, Betriebs-, Analyse- und Debugprotokolle. Ereignisse in Admin-Protokollen sind von besonderem Interesse, wenn Sie Ereignisprotokolleinträge zur Problembehandlung verwenden. Ereignisse im Admin-Protokoll sollten Ihnen Anleitungen geben, wie Sie auf die Ereignisse reagieren können. Ereignisse im Betriebsprotokoll sind ebenfalls nützlich, erfordern jedoch möglicherweise weitere Interpretationen. Admin- und Debugprotokolle sind nicht so benutzerfreundlich. In Analyseprotokollen (die standardmäßig ausgeblendet und deaktiviert sind) werden Ereignisse gespeichert, die ein Problem verfolgen, und oft wird eine große Anzahl von Ereignissen protokolliert. Debugprotokolle werden von Entwicklern beim Debuggen von Anwendungen verwendet.

Exchange Server protokolliert Ereignisse in Crimson-Kanälen im Bereich "Anwendungs- und Dienstprotokolle". Sie können diese Kanäle folgendermaßen anzeigen:

  1. Öffnen Sie die Ereignisanzeige.

  2. Navigieren Sie in der Konsolenstruktur zu "Anwendungs- und Dienstprotokolle>in Microsoft>Exchange".

  3. Wählen Sie unter Exchange einen Crimson-Kanal wie HighAvailability oder MailboxDatabaseFailureItems aus, um DAG- und Datenbankkopien-Ereignisse anzuzeigen, oder ActiveMonitoring oder ManagedAvailability, um Ereignisse im Zusammenhang mit der verwalteten Verfügbarkeit anzuzeigen.

Der Hochverfügbarkeitskanal enthält Ereignisse im Zusammenhang mit dem Starten und Herunterfahren des Microsoft Exchange-Replikationsdiensts sowie der verschiedenen Komponenten, die innerhalb des Microsoft Exchange-Replikationsdiensts ausgeführt werden, z. B. Active Manager, die synchrone Replikations-API eines Drittanbieters, der Task-RPC-Server, der TCP-Listener und der Volume Shadow Copy Service (VSS)-Writer. Der Hochverfügbarkeitskanal wird auch von Active Manager verwendet, um Ereignisse im Zusammenhang mit der Active Manager-Rollenüberwachung und Datenbankaktionsereignissen zu protokollieren, z. B. einen Datenbankbereitstellungsvorgang und das Abschneiden des Protokolls, und um Ereignisse im Zusammenhang mit dem zugrunde liegenden Cluster der DAG aufzuzeichnen.

Der Kanal MailboxDatabaseFailureItems wird zum Protokollieren von Ereignissen im Zusammenhang mit Fehlern verwendet, die sich auf eine replizierte Postfachdatenbank auswirken.

Der Kanal ActiveMonitoring enthält Definitions- und Ergebnisereignisse für Tests, Monitore und Antwortsender in Zusammenhang mit verwalteter Verfügbarkeit.

Der Kanal ManagedAvailability enthält Wiederherstellungsaktionsprotokolle und -ergebnisse sowie damit zusammenhängende Ereignisse.

Monitor für geringen Speicherplatz

Die verwaltete Verfügbarkeit von Exchange Server überwacht jede Minute Hunderte von Systemmetriken und -komponenten, einschließlich der Menge an freiem Speicherplatz auf Volumes, die von der Postfachserverrolle verwendet werden. In Versionen vor Exchange 2013 Service Pack 1 (SP1) überwachte Exchange den verfügbaren Speicherplatz auf allen lokalen Volumes, darunter auch auf solchen, die keine Datenbanken oder Protokolldateien enthalten. In Exchange 2016 und Exchange 2019 werden nur Volumes überwacht, die Exchange-Datenbanken und -Protokolldateien enthalten. Der Standardschwellenwert für den Monitor für geringen Speicherplatz beträgt 180 GB. Sie können den Schwellenwert konfigurieren, indem Sie den folgenden DWORD-Registrierungswert (in MB) auf jedem Postfachserver hinzufügen, den Sie anpassen möchten:

Pfad: HKEY_LOCAL_MACHINE\Software\Microsoft\ExchangeServer\v15\Replay\Parameters

Wert: SpaceMonitorLowSpaceThresholdInMB

Wenn Sie z. B. den Schwellenwert auf 180 GB einstellen möchten, würden Sie den folgenden Registrierungswert konfigurieren:

REG_DWORD 186a0 (100000)

Nach der Konfiguration oder Änderung des oben genannten Registrierungswerts müssen Sie den Microsoft Exchange-DAG-Verwaltungsdienst neu starten, damit die Änderung wirksam werden kann.

Skript "CollectOverMetrics.ps1"

Exchange Server enthält ein Skript namens CollectOverMetrics.ps1, das sich im Ordner Skripts befindet. CollectOverMetrics.ps1 liest Ereignisprotokolle von DAG-Mitgliedern, um Informationen zu Datenbankvorgängen (z. B. Datenbankeinbindungen, -verschiebungen und -failover) über einen bestimmten Zeitraum zu erfassen. Für jeden Vorgang zeichnet das Skript folgende Informationen auf:

  • Identität der Datenbank

  • Anfangs- und Endzeitpunkt des Vorgangs

  • Server, auf denen die Datenbank am Anfang und am Ende des Vorgangs eingebunden war

  • Grund des Vorgangs

  • Den Erfolg bzw. Misserfolg des Vorgangs (in diesem Fall mit den Fehlerdetails)

Das Skript schreibt diese Informationen in CSV-Dateien (pro Zeile ein Vorgang). Für jede DAG wird eine gesonderte CSV-Datei geschrieben.

Das Skript unterstützt Parameter, mit denen Sie das Verhalten und die Ausgabe des Skripts anpassen können. Mithilfe des Parameters Database oder ReportFilter kann z. B. das Ergebnis auf eine angegebene Untermenge beschränkt werden. Nur die Vorgänge, die diesen Filtern entsprechen, werden in den HTML-Zusammenfassungsbericht einbezogen. Die verfügbaren Parameter sind in der folgenden Tabelle aufgeführt.

Parameter des Skripts "CollectOverMetrics.ps1"

Parameter Beschreibung
DatabaseAvailabilityGroup Gibt den Namen der DAG an, deren Metriken Sie erfassen möchten. Wird dieser Parameter ausgelassen, wird die DAG verwendet, welcher der lokale Server angehört. Platzhalterzeichen dienen beim Erstellen von Berichten zum Erfassen von Informationen aus mehreren DAGs.
Database Stellt eine Liste von Datenbanken bereit, für die der Bericht generiert werden soll. Platzhalterzeichen werden unterstützt, z. B -Database:"DB1","DB2" . oder -Database:"DB*".
StartTime Gibt die Dauer des Berichtszeitraums an. Das Skript erfasst nur die in diesem Zeitraum protokollierten Ereignisse. Daher kann das Skript Teiloperationendatensätze erfassen (z. B. nur das Ende eines Vorgangs am Anfang der Periode oder umgekehrt). Wenn weder StartTime noch EndTime angegeben ist, verwendet das Skript standardmäßig die letzten 24 Stunden. Wenn nur ein Parameter angegeben ist, beträgt der Zeitraum 24 Stunden und beginnt oder endet zum angegebenen Zeitpunkt.
EndTime Gibt die Dauer des Berichtszeitraums an. Das Skript erfasst nur die in diesem Zeitraum protokollierten Ereignisse. Daher kann das Skript Teiloperationendatensätze erfassen (z. B. nur das Ende eines Vorgangs am Anfang der Periode oder umgekehrt). Wenn weder StartTime noch EndTime angegeben sind, wird das Skript standardmäßig auf die letzten 24 Stunden festgelegt Wenn nur ein Parameter angegeben wird, beträgt der Zeitraum 24 Stunden und beginnt oder endet zum angegebenen Zeitpunkt.
ReportPath Gibt den Ordner an, in dem die Ergebnisse der Ereignisverarbeitung gespeichert werden sollen. Wird dieser Parameter ausgelassen, wird der Ordner Scripts verwendet. Nach der Angabe verwendet das Skript eine Liste der vom Skript generierten .csv Dateien als Quelldaten, um einen zusammenfassenden HTML-Bericht zu generieren. Der Bericht ist derselbe, der mit der Option -GenerateHtmlReport generiert wird. Die Dateien können über mehrere DAGs hinweg zu vielen verschiedenen Zeiten oder sogar mit überlappenden Zeiten generiert werden, und das Skript führt alle Daten zusammen.
GenerateHtmlReport Gibt an, dass das Skript alle aufgezeichneten Daten erfasst, die Daten nach Vorgangstyp gruppiert und anschließend eine HTML-Datei mit Statistiken zu jeder dieser Gruppen generiert. Der Bericht enthält die Gesamtanzahl von Vorgängen in jeder Gruppe, die Anzahl der nicht erfolgreichen Vorgänge und Statistiken zum Erfassungszeitraum innerhalb jeder Gruppe. Der Bericht enthält außerdem eine Aufgliederung der Typen von Fehlern, die zu misslungenen Vorgängen geführt haben.
ShowHtmlReport Gibt an, dass der in HTML generierte Bericht anschließend in einem Webbrowser angezeigt werden soll.
SummarizeCsvFiles Gibt an, dass das Skript die Daten aus vorhandenen CSV-Dateien liest, die zuvor mithilfe des Skripts generiert wurden. Diese Daten werden dann verwendet, um einen Zusammenfassungsbericht zu generieren, der dem vom Parameter "GenerateHtmlReport" generierten Bericht ähnelt.
ActionType Gibt die Arten der Vorgangsaktionen an, die das Skript erfassen soll. Die Werte für diesen Parameter sind Move, Mount, ismountund Remount. Der Move Wert bezieht sich auf jedes Mal, wenn die Datenbank ihren aktiven Server ändert, sei es durch kontrollierte Verschiebungen oder durch Failover. Die MountWerte , und Remount beziehen sich auf Zeiten, Dismountin denen die Datenbank ihren bereitgestellten Status ändert, ohne zu einem anderen Computer zu wechseln.
ActionTrigger Gibt die Verwaltungsvorgänge an, die vom Skript erfasst werden sollen. Die Werte für diesen Parameter sind Admin or Automatic. Automatische Aktionen werden vom System automatisch ausgeführt (z. B. ein Failover, wenn ein Server offline geschaltet wird). Admin-Aktionen sind alle Aktionen, die von einem Administrator entweder über die Exchange-Verwaltungsshell oder das Exchange Admin Center ausgeführt wurden.
RawOutput Gibt an, dass das Skript die Ergebnisse, die normalerweise in CSV-Dateien geschrieben würden, direkt in den Ausgabedatenstrom schreibt (wie beim Vorgang Write-Output). Diese Informationen können an andere Befehle weitergeleitet werden.
IncludedExtendedEvents Gibt an, dass das Skript die Ereignisse erfassen soll, die Diagnosedetails zu den Zeiträumen liefern, die für das Einbinden von Datenbanken aufgewendet wurden. Dies kann eine sehr zeitaufwendige Phase sein, wenn das Ereignisprotokoll Anwendung auf den Servern sehr groß ist.
MergeCSVFiles Gibt an, dass das Skript alle CSV-Dateien mit Daten zu jedem Vorgang verwendet und diese in einer einzelnen CSV-Datei zusammenführt.
ReportFilter Gibt an, dass mithilfe der Felder in den CSV-Dateien ein Filter auf die Vorgänge angewendet werden soll. Dieser Parameter verwendet das gleiche Format wie eine Where Operation, wobei jedes Element auf $_ einen booleschen Wert festgelegt ist und einen booleschen Wert zurückgibt. Beispiel: Kann verwendet werden, {$_DatabaseName -notlike "Mailbox Database*"} um die Standarddatenbanken aus dem Bericht auszuschließen.

Beispiele für "CollectOverMetrics.ps1"

Im folgenden Beispiel werden Metriken für alle Datenbanken erfasst, die "DB*" (mit Platzhalterzeichen) in der Datenbankverfügbarkeitsgruppe "DAG1" entsprechen. Nachdem die Metriken erfasst wurden, wird ein HTML-Bericht generiert und angezeigt.

CollectOverMetrics.ps1 -DatabaseAvailabilityGroup DAG1 -Database:"DB*" -GenerateHTMLReport -ShowHTMLReport

Die folgenden Beispiele veranschaulichen Möglichkeiten zum Filtern des HTML-Zusammenfassungsberichts. Die erste verwendet den Datenbankparameter , der eine Liste von Datenbanknamen akzeptiert. Der Zusammenfassungsbericht enthält anschließend nur Daten zu diesen Datenbanken. In den nächsten beiden Beispielen wird die ReportFilter-Option verwendet. Im letzten Beispiel werden alle Standarddatenbanken herausgefiltert.

CollectOverMetrics.ps1 -SummariseCsvFiles (dir *.csv) -Database MailboxDatabase123,MailboxDatabase456
CollectOverMetrics.ps1 -SummariseCsvFiles (dir *.csv) -ReportFilter {$_.DatabaseName -notlike "Mailbox Database*"}
CollectOverMetrics.ps1 -SummariseCsvFiles (dir *.csv) -ReportFilter {($_.ActiveOnStart -like "ServerXYZ*") -and ($_.ActiveOnEnd -notlike "ServerXYZ*")}

Skript "CollectReplicationMetrics.ps1"

CollectReplicationMetrics.ps1 ist ein weiteres Skript für Gesundheitsmetriken, das in Exchange Server enthalten ist. Bei diesem Skript handelt es sich um eine aktive Form der Überwachung, da es Metriken in Echtzeit erfasst, während das Skript ausgeführt wird. CollectReplicationMetrics.ps1 erfasst Daten von Leistungsindikatoren im Zusammenhang mit der Datenbankreplikation. Das Skript erfasst Leistungsindikatordaten mehrerer Postfachserver, schreibt die Daten der einzelnen Server in eine CSV-Datei und kann anschließend verschiedene Statistiken anhand dieser Daten erstellen (z. B. den Zeitraum, den jede Kopie im Status "Fehler" oder "Angehalten" verbracht hat, die Durchschnittslänge der Kopie- oder Wiedergabewarteschlange oder die Dauer, in der Kopien sich außerhalb ihrer Failoverkriterien befunden haben).

Sie können entweder die Server einzeln oder ganze DAGs angeben. Sie können das Skript entweder ausführen, um die Daten zu erfassen und anschließend den Bericht zu erstellen, oder Sie können es ausführen, um nur Daten zu erfassen oder um nur einen Bericht zu Daten zu erstellen, die bereits erfasst wurden. Sie können die Häufigkeit angeben, mit der Daten erfasst werden sollen, und die Gesamtdauer der Datenerfassung bestimmen.

Die von jedem Server erfassten Daten werden in eine Datei mit dem Namen CounterData.<Servername>.<Zeitstempel>.csv geschrieben. Der zusammenfassende Bericht wird in eine Datei mit dem Namen HaReplPerfReport geschrieben.<DAGName>.<TimeStamp>.csvoder HaReplPerfReport.<TimeStamp>.csv , wenn Sie das Skript nicht mit dem Parameter DagName ausgeführt haben.

Das Skript startet Windows PowerShell-Aufträge zum Erfassen der Daten von jedem Server. Diese Aufträge werden für den gesamten Zeitraum ausgeführt, in dem Daten erfasst werden sollen. Wenn Sie eine große Anzahl von Servern angeben, kann dieser Prozess sehr viel Arbeitsspeicher belegen. Die letzte Phase des Prozesses, in denen die Daten zu einem Zusammenfassungsbericht verarbeitet werden, kann bei großen Datenmengen auch relativ zeitaufwendig sein. Es ist möglich, die Erfassungsphase auf einem Computer auszuführen und die Daten anschließend zur Verarbeitung auf einen anderen Computer zu kopieren.

Das Skript CollectReplicationMetrics.ps1 unterstützt Parameter, mit denen Sie das Verhalten und die Ausgabe des Skripts anpassen können. Die verfügbaren Parameter sind in der folgenden Tabelle aufgeführt.

Parameter des Skripts "CollectReplicationMetrics.ps1"

Parameter Beschreibung
DagName Gibt den Namen der DAG an, deren Metriken Sie erfassen möchten. Wird dieser Parameter ausgelassen, wird die DAG verwendet, welcher der lokale Server angehört.
Datenbanknamen Stellt eine Liste von Datenbanken bereit, für die der Bericht generiert werden soll. Platzhalterzeichen werden für die Verwendung unterstützt, z. B -DatabaseNames:"DB1","DB2" . oder -DatabaseNames:"DB*".
ReportPath Gibt den Ordner an, in dem die Ergebnisse der Ereignisverarbeitung gespeichert werden sollen. Wird dieser Parameter ausgelassen, wird der Ordner Scripts verwendet.
Duration Gibt den Zeitraum an, den der Erfassungsprozess ausführen soll. Typische Werte wären ein bis drei Stunden. Längere Zeiträume sollten nur mit langen Intervallen zwischen den einzelnen Beispielen oder als eine Reihe kürzerer Aufträge verwendet werden, die von geplanten Tasks ausgeführt werden.
Frequency Gibt die Häufigkeit an, mit der Datenmetriken erfasst werden. Typische Werte sind 30 Sekunden, eine Minute oder fünf Minuten. Unter normalen Umständen werden bei kürzeren Intervallen als diesen keine wesentlichen Unterschiede zwischen den einzelnen Erfassungen deutlich.
Servers Gibt die Identität der Server an, von denen Statistiken erfasst werden sollen. Sie können einen beliebigen Wert angeben, einschließlich Platzhalterzeichen und GUIDs.
SummarizeariseFiles Gibt eine Liste mit CSV-Dateien zum Generieren eines Zusammenfassungsberichts an. Bei diesen Dateien handelt es sich um die Dateien mit dem Namen "CounterData".<CounterData>* und werden vom CollectReplicationMetrics.ps1 Skript generiert.
Mode Gibt die Verarbeitungsphasen an, die das Skript ausführt. Folgende Werte können verwendet werden:
CollectAndReport: Dies ist der Standardwert. Dieser Wert bedeutet, dass das Skript Daten von den Servern erfassen und anschließend so verarbeiten soll, dass ein Zusammenfassungsbericht generiert wird.
CollectOnly: Dieser Wert gibt an, dass das Skript nur die Daten sammeln und nicht den Bericht erstellen soll.
ProcessOnly: Dieser Wert gibt an, dass das Skript Daten aus einer Reihe von .csv Dateien importieren und verarbeiten soll, um den Zusammenfassungsbericht zu erstellen. Der Parameter SummariseFiles wird verwendet, um dem Skript die Liste der zu verarbeitenden Dateien bereitzustellen.
MoveFilestoArchive Gibt an, dass das Skript die Dateien nach der Verarbeitung in einen komprimierten Ordner verschieben soll.
LoadExchangeSnapin Gibt an, dass das Skript die Befehle der Exchange-Verwaltungsshell laden soll. Dieser Parameter ist nützlich, wenn das Skript von außerhalb der Exchange-Verwaltungsshell ausgeführt werden muss, z. B. in einer geplanten Aufgabe.

Beispiel für "CollectReplicationMetrics.ps1"

Im folgenden Beispiel werden Daten über eine Stunde von allen Servern in der DAG namens "DAG1" in einminütigen Abständen in einem Zusammenfassungsbericht erfasst. Darüber hinaus wird der Parameter ReportPath angegeben, der bewirkt, dass das Skript alle Dateien im aktuellen Verzeichnis ablegt.

CollectReplicationMetrics.ps1 -DagName DAG1 -Duration "01:00:00" -Frequency "00:01:00" -ReportPath

Im folgenden Beispiel werden Daten aus allen mit "CounterData*" übereinstimmenden Dateien gelesen und in einem Zusammenfassungsbericht ausgegeben.

CollectReplicationMetrics.ps1 -SummariseFiles (dir CounterData*) -Mode ProcessOnly -ReportPath