Ü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:
Öffnen Sie die Ereignisanzeige.
Navigieren Sie in der Konsolenstruktur zu Anwendungs- und Dienstprotokolle>Microsoft>Exchange.
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 , ismount und 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 Mount Werte , Dismount und 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