Überwachen von Datenbankverfügbarkeitsgruppen

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 der Übergang von Suspended, ServiceDown, Failed, 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 Kopierstatus etwa 15 Sekunden lang im Status Initialisieren, aber in allen Fällen sollte er in der Regel nicht länger als 30 Sekunden in diesem Zustand sein.
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 sie befand sich im Zustand Fehlerfrei, als der Verbindungsverlust aufgetreten ist. Dieser Zustand stellt die Datenbankkopie in Bezug auf die Konnektivität mit der Kopie der Quelldatenbank dar. Es kann während eines DAG-Netzwerkfehlers zwischen der Quellkopie und der Zieldatenbankkopie gemeldet werden.
DisconnectedAndResynchronizing Die Postfachdatenbankkopie ist nicht mehr mit der aktiven Datenbankkopie verbunden und befand sich im Zustand Neusynchronisierung, als der Verbindungsverlust aufgetreten ist. Dieser Zustand stellt die Datenbankkopie in Bezug auf die Konnektivität mit der Kopie der Quelldatenbank dar. Es kann während eines DAG-Netzwerkfehlers 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 mit mehr als einer Kopie zurückgegeben wird, sowie zu allen Datenbankkopien, die als Quelle für einen Datenbankseetvorgang verwendet werden. 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.
ClusterNetzwerk Ü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, Betriebsprotokolle, Analyseprotokolle und Debugprotokolle. Ereignisse in Admin Protokollen sind von besonderem Interesse, wenn Sie Ereignisprotokolldatensätze zur Problembehandlung verwenden. Ereignisse im Admin-Protokoll sollten Ihnen Anleitungen zur Reaktion auf die Ereignisse bieten. Ereignisse im Betriebsprotokoll sind ebenfalls nützlich, erfordern jedoch möglicherweise mehr Interpretation. Admin- und Debugprotokolle sind nicht so benutzerfreundlich. Analyseprotokolle (die standardmäßig ausgeblendet und deaktiviert sind) speichern Ereignisse, die ein Problem nachverfolgen, und häufig 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>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 HighAvailability-Kanal enthält Ereignisse im Zusammenhang mit dem Starten und Herunterfahren des Microsoft Exchange-Replikationsdiensts sowie den verschiedenen Komponenten, die innerhalb des Microsoft Exchange-Replikationsdiensts ausgeführt werden, z. B. Active Manager, die synchrone Replikations-API von Drittanbietern, den TASKS-RPC-Server, TCP-Listener und Volume Shadow Copy Service (VSS)-Writer. Der HighAvailability-Kanal wird auch von Active Manager verwendet, um Ereignisse im Zusammenhang mit der Active Manager-Rollenüberwachung und Datenbankaktionsereignissen zu protokollieren, z. B. einen Datenbankeinbindungsvorgang und Protokollkürzungen, und um Ereignisse im Zusammenhang mit dem zugrunde liegenden DAG-Cluster 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

Exchange Server verwaltete Verfügbarkeit ü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 im Ordner Skripts zu finden ist. 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. Wildcardzeichen werden unterstützt, z. B -Database:"DB1","DB2" . oder -Database:"DB*".
StartTime Gibt die Dauer des Zeitraums an, für den Bericht erstellt werden soll. Das Skript erfasst nur die Ereignisse, die während dieses Zeitraums protokolliert wurden. Daher kann das Skript teilweise Vorgangsdatensätze erfassen (z. B. nur das Ende eines Vorgangs zu Beginn des Zeitraums oder umgekehrt). Wenn weder StartTime noch EndTime angegeben ist, wird das Skript standardmäßig auf die letzten 24 Stunden festgelegt. Wenn nur ein Parameter angegeben wird, beträgt der Zeitraum 24 Stunden, der entweder zum angegebenen Zeitpunkt beginnt oder endet.
EndTime Gibt die Dauer des Zeitraums an, für den Bericht erstellt werden soll. Das Skript erfasst nur die Ereignisse, die während dieses Zeitraums protokolliert wurden. Daher kann das Skript teilweise Vorgangsdatensätze erfassen (z. B. nur das Ende eines Vorgangs zu Beginn des Zeitraums oder umgekehrt). Wenn weder StartTime noch EndTime angegeben ist, verwendet das Skript standardmäßig die letzten 24 Stunden Wenn nur ein Parameter angegeben wird, beträgt der Zeitraum 24 Stunden, beginnend 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. Wenn angegeben, verwendet das Skript eine Liste von .csv Dateien, die vom Skript generiert werden, und verwendet sie als Quelldaten, um einen HTML-Zusammenfassungsbericht zu generieren. Der Bericht ist derselbe, der mit der Option -GenerateHtmlReport generiert wird. Die Dateien können in mehreren DAGs zu vielen verschiedenen Zeiten oder sogar mit überlappenden Zeiten generiert werden, und das Skript führt alle ihre 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.
SummariseCsvFiles 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 Bericht ähnelt, der mit dem GenerateHtmlReport-Parameter generiert wird.
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 jede Zeit, in der die Datenbank ihren aktiven Server ändert, sei es durch kontrollierte Verschiebungen oder durch Failover. Die MountWerte , Dismountund Remount beziehen sich auf zeiten, in denen die Datenbank ihren Einbindungsstatus ändert, ohne auf einen anderen Computer zu wechseln.
ActionTrigger Gibt die Verwaltungsvorgänge an, die vom Skript erfasst werden sollen. Die Werte für diesen Parameter sind Admin oder Automatic. Automatische Aktionen werden vom System automatisch ausgeführt (z. B. ein Failover, wenn ein Server offline geschaltet wird). Admin Aktionen sind aktionen, die von einem Administrator ü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 ein Where Vorgang, wobei jedes Element auf $_ festgelegt ist und einen booleschen Wert zurückgibt. Beispiel: {$_DatabaseName -notlike "Mailbox Database*"} Kann verwendet werden, 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 Database-Parameter , 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 Option ReportFilter 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 Integritätsmetrikskript, 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 Zusammenfassungsbericht wird in eine Datei namens HaReplPerfReport geschrieben.< DAGName>.< TimeStamp>.csvoder HaReplPerfReport.< TimeStamp>.csv , wenn Sie das Skript nicht mit dem DagName-Parameter 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.
DatabaseNames Stellt eine Liste von Datenbanken bereit, für die der Bericht generiert werden soll. Die Verwendung von Wildcardzeichen wird 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 an, wie lange der Sammlungsprozess ausgeführt werden soll. Typische Werte wären ein bis drei Stunden. Längere Daueren sollten nur mit langen Intervallen zwischen den einzelnen Stichproben oder als Eine Reihe kürzerer Aufträge verwendet werden, die von geplanten Aufgaben 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.
SummariseFiles Gibt eine Liste mit CSV-Dateien zum Generieren eines Zusammenfassungsberichts an. Diese Dateien sind 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 bedeutet, dass das Skript nur die Daten sammeln und nicht den Bericht erstellen soll.
ProcessOnly: Dieser Wert bedeutet, dass das Skript Daten aus einer Gruppe von .csv Dateien importieren und zum Erstellen des Zusammenfassungsberichts verarbeiten soll. Der Parameter SummariseFiles wird verwendet, um das Skript mit der 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 Exchange-Verwaltungsshell-Befehle 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