Konfigurationsprotokollierung
Die Konfigurationsprotokollierung ist eine Funktion, die Änderungen an der Sitekonfiguration und administrative Aktivitäten in der Datenbank erfasst. Die Funktion ist standardmäßig aktiviert. Sie können den protokollierten Inhalt verwenden, um:
- Probleme nach Konfigurationsänderungen zu diagnostizieren und zu beheben. Das Protokoll bietet eine Nachverfolgung der Änderungen.
- Das Änderungsmanagement zu unterstützen und Konfigurationen nachzuverfolgen.
- Administratoraktivitäten zu melden.
Sie können die Einstellungen für die Konfigurationsprotokollierung festlegen, Konfigurationsprotokolle anzeigen und HTML- und CSV-Berichte aus Citrix Studio generieren. Sie können die Anzeige von Konfigurationsprotokollen nach Datumsbereichen und Volltextsuchergebnissen filtern. Die obligatorische Protokollierung verhindert, wenn aktiviert, dass Konfigurationsänderungen vorgenommen werden, es sei denn, sie können protokolliert werden. Mit der entsprechenden Berechtigung können Sie Einträge aus dem Konfigurationsprotokoll löschen. Sie können die Konfigurationsprotokollierungsfunktion nicht verwenden, um Protokollinhalte zu bearbeiten.
Die Konfigurationsprotokollierung verwendet ein PowerShell SDK und den Konfigurationsprotokollierungsdienst. Der Konfigurationsprotokollierungsdienst läuft auf jedem Controller in der Site. Fällt ein Controller aus, übernimmt der Dienst auf einem anderen Controller automatisch die Protokollierungsanforderungen.
Standardmäßig ist die Konfigurationsprotokollierungsfunktion aktiviert und verwendet die Datenbank, die beim Erstellen der Site erstellt wird (die Sitekonfigurationsdatenbank). Sie können einen anderen Speicherort für die Datenbank angeben. Die Konfigurationsprotokollierungsdatenbank unterstützt dieselben Hochverfügbarkeitsfunktionen wie die Sitekonfigurationsdatenbank.
Der Zugriff auf die Konfigurationsprotokollierung wird über die delegierte Administration mit den Berechtigungen „Protokollierungseinstellungen bearbeiten“ und „Konfigurationsprotokolle anzeigen“ gesteuert.
Konfigurationsprotokolle werden bei ihrer Erstellung lokalisiert. Ein in Englisch erstelltes Protokoll wird beispielsweise in Englisch gelesen, unabhängig vom Gebietsschema des Lesers.
Was protokolliert wird
Konfigurationsänderungen und administrative Aktivitäten, die von Studio, Director und PowerShell-Skripten initiiert werden, werden protokolliert. Beispiele für protokollierte Konfigurationsänderungen sind die Arbeit mit (Erstellen, Bearbeiten, Löschen, Zuweisen von):
- Maschinenkatalogen
- Bereitstellungsgruppen (einschließlich der Änderung von Energieverwaltungseinstellungen)
- Administratorrollen und -bereichen
- Hostressourcen und Verbindungen
- Citrix-Richtlinien über Studio
Beispiele für protokollierte administrative Änderungen sind:
- Energieverwaltung einer virtuellen Maschine oder eines Benutzerdesktops
- Studio oder Director sendet eine Nachricht an einen Benutzer
Die folgenden Vorgänge werden nicht protokolliert:
- Autonome Vorgänge wie das Einschalten virtueller Maschinen durch Poolverwaltung.
- Richtlinienaktionen, die über die Gruppenrichtlinien-Verwaltungskonsole (GPMC) implementiert wurden; verwenden Sie Microsoft-Tools, um Protokolle dieser Aktionen anzuzeigen.
- Änderungen, die über die Registrierung, den direkten Zugriff auf die Datenbank oder aus anderen Quellen als Studio, Director oder PowerShell vorgenommen wurden.
- Wenn die Bereitstellung initialisiert wird, wird die Konfigurationsprotokollierung verfügbar, sobald die erste Instanz des Konfigurationsprotokollierungsdienstes beim Konfigurationsdienst registriert wird. Daher werden die frühen Phasen der Konfiguration nicht protokolliert (z. B. wenn das Datenbankschema abgerufen und angewendet wird, wenn ein Hypervisor initialisiert wird).
Konfigurationsprotokollierung verwalten
Standardmäßig verwendet die Konfigurationsprotokollierung die Datenbank, die beim Erstellen einer Site erstellt wird (auch als Site-Konfigurationsdatenbank bezeichnet). Citrix empfiehlt aus den folgenden Gründen, einen separaten Speicherort für die Konfigurationsprotokollierungsdatenbank (und die Überwachungsdatenbank) zu verwenden:
- Die Sicherungsstrategie für die Konfigurationsprotokollierungsdatenbank unterscheidet sich wahrscheinlich von der Sicherungsstrategie für die Site-Konfigurationsdatenbank.
- Das für die Konfigurationsprotokollierung (und den Überwachungsdienst) gesammelte Datenvolumen könnte den für die Site-Konfigurationsdatenbank verfügbaren Speicherplatz negativ beeinflussen.
- Es teilt den Single Point of Failure für die drei Datenbanken auf.
Produkteditionen, die die Konfigurationsprotokollierung nicht unterstützen, haben keinen Knoten „Protokollierung“ in Studio.
Konfigurationsprotokollierung und obligatorische Protokollierung aktivieren und deaktivieren
Standardmäßig ist die Konfigurationsprotokollierung aktiviert und die obligatorische Protokollierung deaktiviert.
- Melden Sie sich bei Web Studio an und wählen Sie im linken Bereich Protokollierung.
- Wählen Sie in der Aktionsleiste Einstellungen. Das Dialogfeld für die Konfigurationsprotokollierung enthält Datenbankinformationen und zeigt an, ob die Konfigurationsprotokollierung und die obligatorische Protokollierung aktiviert oder deaktiviert sind.
-
Wählen Sie die gewünschte Aktion:
Um die Konfigurationsprotokollierung zu aktivieren, wählen Sie Aktivieren. Dies ist die Standardeinstellung. Wenn die Datenbank nicht beschrieben werden kann, werden die Protokollierungsinformationen verworfen, der Vorgang wird jedoch fortgesetzt.
Um die Konfigurationsprotokollierung zu deaktivieren, wählen Sie Deaktivieren. Wenn die Protokollierung zuvor aktiviert war, bleiben vorhandene Protokolle mit dem PowerShell SDK lesbar.
Um die obligatorische Protokollierung zu aktivieren, wählen Sie Änderungen an der Sitekonfiguration verhindern, wenn die Datenbank nicht verfügbar ist. Keine Konfigurationsänderung oder administrative Aktivität, die normalerweise protokolliert wird, ist zulässig, es sei denn, sie kann in die Konfigurationsprotokollierungsdatenbank geschrieben werden. Sie können die obligatorische Protokollierung nur aktivieren, wenn die Konfigurationsprotokollierung aktiviert ist (wenn Aktivieren ausgewählt ist). Wenn der Konfigurationsprotokollierungsdienst fehlschlägt und Hochverfügbarkeit nicht verwendet wird, wird die obligatorische Protokollierung angenommen. In solchen Fällen werden Vorgänge, die normalerweise protokolliert würden, nicht ausgeführt.
Um die obligatorische Protokollierung zu deaktivieren, wählen Sie Änderungen an der Sitekonfiguration zulassen, wenn die Datenbank nicht verfügbar ist. Konfigurationsänderungen und administrative Aktivitäten sind zulässig, auch wenn die Konfigurationsprotokollierungsdatenbank nicht zugänglich ist. Dies ist die Standardeinstellung.
Speicherort der Konfigurationsprotokollierungsdatenbank ändern
Sie können den Datenbankstandort nicht ändern, wenn die obligatorische Protokollierung aktiviert ist, da die Standortänderung ein kurzes Trennungsintervall beinhaltet, das nicht protokolliert werden kann.
- Erstellen Sie einen Datenbankserver mit einer unterstützten SQL Server-Version.
- Melden Sie sich bei Web Studio an und wählen Sie im linken Bereich Protokollierung.
- Wählen Sie in der Aktionsleiste Einstellungen.
- Wählen Sie im Dialogfeld „Protokollierungseinstellungen“ die Option Protokollierungsdatenbank ändern.
- Geben Sie im Dialogfeld „Protokollierungsdatenbank ändern“ den Speicherort des Servers an, der den neuen Datenbankserver enthält. Gültige Formate finden Sie unter Datenbankadressformate.
- Damit Studio die Datenbank erstellen kann, klicken Sie auf OK. Klicken Sie bei entsprechender Aufforderung auf OK, und die Datenbank wird automatisch erstellt. Studio versucht, mit den Anmeldeinformationen des aktuellen Studio-Benutzers auf die Datenbank zuzugreifen. Schlägt dies fehl, werden Sie zur Eingabe der Anmeldeinformationen des Datenbankbenutzers aufgefordert. Studio lädt dann das Datenbankschema in die Datenbank hoch. (Die Anmeldeinformationen werden nur während der Datenbankerstellung beibehalten.)
- Um die Datenbank manuell zu erstellen, klicken Sie auf Datenbankskript generieren. Das generierte Skript enthält Anweisungen zum manuellen Erstellen der Datenbank. Stellen Sie sicher, dass die Datenbank leer ist und dass mindestens ein Benutzer die Berechtigung hat, auf die Datenbank zuzugreifen und sie zu ändern, bevor Sie das Schema hochladen.
Die Konfigurationsprotokollierungsdaten in der vorherigen Datenbank werden nicht in die neue Datenbank importiert. Protokolle können beim Abrufen nicht aus beiden Datenbanken aggregiert werden. Der erste Protokolleintrag in der neuen Konfigurationsprotokollierungsdatenbank zeigt an, dass eine Datenbankänderung stattgefunden hat, identifiziert jedoch nicht die vorherige Datenbank.
Anzeigen des Konfigurationsprotokollinhalts
Beim Initiieren von Konfigurationsänderungen und administrativen Aktivitäten werden die von Studio und Director erstellten übergeordneten Vorgänge im oberen mittleren Bereich in Studio aufgelistet. Ein übergeordneter Vorgang führt zu einem oder mehreren Dienst- und SDK-Aufrufen, die untergeordnete Vorgänge sind. Wenn Sie einen übergeordneten Vorgang im oberen Bereich auswählen, werden im unteren Bereich die untergeordneten Vorgänge angezeigt.
Schlägt ein Vorgang vor dem Abschluss fehl, wird der Protokollvorgang möglicherweise nicht in der Datenbank abgeschlossen. Beispielsweise hat ein Startdatensatz keinen entsprechenden Stoppdatensatz. In solchen Fällen zeigt das Protokoll an, dass Informationen fehlen. Wenn Sie Protokolle basierend auf Zeitbereichen anzeigen, werden unvollständige Protokolle angezeigt, wenn die Daten in den Protokollen den Kriterien entsprechen. Wenn beispielsweise alle Protokolle der letzten fünf Tage angefordert werden und ein Protokoll mit einer Startzeit in den letzten fünf Tagen, aber ohne Endzeit vorhanden ist, wird es eingeschlossen.
Wenn Sie ein Skript verwenden, das PowerShell-Cmdlets aufruft, und Sie einen untergeordneten Vorgang erstellen, ohne einen übergeordneten Vorgang anzugeben, erstellt die Konfigurationsprotokollierung einen Ersatz-übergeordneten Vorgang.
Um den Konfigurationsprotokollinhalt anzuzeigen, wählen Sie im Studio-Navigationsbereich Protokollierung aus. Standardmäßig listet der mittlere Bereich den Protokollinhalt chronologisch (neueste Einträge zuerst), nach Datum getrennt, auf. Sie können:
- Die Anzeige nach Spaltenüberschrift sortieren.
- Die Anzeige filtern, indem Sie ein Tagesintervall angeben oder Text in das Feld Suchen eingeben. Um nach der Suche zur Standardanzeige zurückzukehren, löschen Sie den Text im Feld Suchen.
- Wählen Sie aus, welche Spalten in der Anzeige erscheinen sollen, indem Sie das Symbol Anzuzeigende Spalten in der oberen rechten Ecke der Tabelle auswählen. Um beispielsweise die IP-Adresse anzuzeigen, die der Administrator für den Zugriff auf Web Studio verwendet, klicken Sie auf das Symbol und fügen Sie die Spalte Client-IP hinzu.
Berichte generieren
Sie können CSV- und HTML-Berichte mit Konfigurationsprotokolldaten generieren.
- Der CSV-Bericht enthält alle Protokollierungsdaten aus einem angegebenen Zeitintervall. Die hierarchischen Daten in der Datenbank werden in einer einzigen CSV-Tabelle zusammengeführt. Kein Aspekt der Daten hat im Dateisystem Vorrang. Es wird keine Formatierung verwendet und keine menschliche Lesbarkeit vorausgesetzt. Die Datei (mit dem Namen MyReport) enthält die Daten in einem universell verwendbaren Format. CSV-Dateien werden häufig zur Archivierung von Daten oder als Datenquelle für ein Berichts- oder Datenbearbeitungstool wie Microsoft Excel verwendet.
- Der HTML-Bericht bietet eine für Menschen lesbare Form der Protokollierungsdaten für ein angegebenes Zeitintervall. Er bietet eine strukturierte, navigierbare Ansicht zur Überprüfung von Änderungen. Ein HTML-Bericht besteht aus zwei Dateien mit den Namen „Summary“ und „Details“. „Summary“ listet Vorgänge auf hoher Ebene auf: wann jeder Vorgang stattfand, von wem und das Ergebnis. Wenn Sie auf einen Details-Link neben jedem Vorgang klicken, gelangen Sie zu den Vorgängen auf niedriger Ebene in der Datei „Details“, die zusätzliche Informationen enthält.
Um einen Konfigurationsprotokollbericht zu erstellen, wählen Sie im Studio-Navigationsbereich Protokollierung und dann in der Aktionsleiste Benutzerdefinierten Bericht erstellen aus.
- Wählen Sie den Datumsbereich für den Bericht aus.
- Wählen Sie das Berichtsformat aus: CSV, HTML oder beides.
- Navigieren Sie zu dem Speicherort, an dem Sie den Bericht speichern möchten.
Konfigurationsprotokollinhalt löschen
Um das Konfigurationsprotokoll zu löschen, müssen Sie über bestimmte delegierte Administrator- und SQL Server-Datenbankberechtigungen verfügen.
-
Delegierte Administration: Sie müssen über eine delegierte Administratorrolle verfügen, die das Lesen der Bereitstellungskonfiguration erlaubt. Die Rolle „Vollständiger Administrator“ besitzt diese Berechtigung. Eine benutzerdefinierte Rolle muss in der Kategorie „Andere Berechtigungen“ die Option „Nur lesen“ oder „Verwalten“ ausgewählt haben.
Um eine Sicherung der Konfigurationsprotokollierungsdaten vor dem Löschen zu erstellen, muss die benutzerdefinierte Rolle auch in der Kategorie „Protokollierungsberechtigungen“ die Option „Nur lesen“ oder „Verwalten“ ausgewählt haben.
-
SQL Server-Datenbank: Sie müssen über ein SQL Server-Login mit der Berechtigung zum Löschen von Datensätzen aus der Datenbank verfügen. Dies kann auf zwei Arten erfolgen:
-
Verwenden Sie ein SQL Server-Datenbank-Login mit einer sysadmin-Serverrolle, die Ihnen erlaubt, beliebige Aktivitäten auf dem Datenbankserver auszuführen. Alternativ erlauben die Serverrollen
serveradminodersetupadmindas Ausführen von Löschvorgängen. -
Wenn Ihre Bereitstellung mehr Sicherheit erfordert, verwenden Sie ein Nicht-sysadmin-Datenbank-Login, das einem Datenbankbenutzer zugeordnet ist, der die Berechtigung zum Löschen von Datensätzen aus der Datenbank besitzt.
- Erstellen Sie in SQL Server Management Studio ein SQL Server-Login mit einer anderen Serverrolle als „sysadmin“.
- Ordnen Sie das Login einem Benutzer in der Datenbank zu. SQL Server erstellt automatisch einen Benutzer in der Datenbank mit demselben Namen wie das Login.
- Geben Sie in der Datenbankrollenmitgliedschaft mindestens eines der Rollenmitglieder für den Datenbankbenutzer an:
ConfigurationLoggingSchema_ROLEoderdbowner.
Weitere Informationen finden Sie in der Dokumentation zu SQL Server Management Studio.
-
So löschen Sie die Konfigurationsprotokolle:
- Melden Sie sich bei Web Studio an und wählen Sie im linken Bereich Protokollierung aus.
- Wählen Sie in der Aktionsleiste Protokolle löschen aus.
- Sie werden gefragt, ob Sie eine Sicherung der Protokolle erstellen möchten, bevor diese gelöscht werden. Wenn Sie eine Sicherung erstellen möchten, navigieren Sie zu dem Speicherort, an dem das Sicherungsarchiv gespeichert wird. Die Sicherung wird als CSV-Datei erstellt.
Nachdem die Konfigurationsprotokolle gelöscht wurden, ist die Protokolllöschung die erste Aktivität, die im leeren Protokoll erfasst wird. Dieser Eintrag enthält Details darüber, wer die Protokolle wann gelöscht hat.
API- und PowerShell-Protokolle anzeigen
Um API-Anfragen zu überwachen, die während Ihrer aktuellen Sitzung gestellt wurden, klicken Sie auf die Registerkarte APIs. API-Protokolle werden gelöscht, nachdem Sie sich von Web Studio abgemeldet haben.
Um PowerShell-Befehle anzuzeigen, die den von Ihnen im Laufe des Tages ausgeführten UI-Aktionen entsprechen, klicken Sie auf die Registerkarte PowerShell.
Metadaten mit Konfigurationsprotokollen verknüpfen
Sie können Konfigurationsprotokollen Metadaten anfügen, indem Sie ein name-value-Paar namens MetadataMap mit den Protokolldatensätzen verknüpfen.
Hinweis:
- Sie können Metadaten nur an übergeordnete Vorgangsobjekte anfügen.
- Metadaten werden zum Zeitpunkt der Ausführung mit den vorhandenen Datensätzen verknüpft.
Metadaten festlegen
Führen Sie den PowerShell-Befehl Set-LogHighLevelOperationMetadata aus, um einen Protokolldatensatz mit dem MetadataMap zu verknüpfen.
Set-LogHighLevelOperationMetadata akzeptiert die folgenden Parameter:
- Id: ID des übergeordneten Vorgangs.
-
InputObject: Die übergeordneten Vorgänge, denen Sie die Metadaten hinzufügen. Dies ist eine Alternative zum Parameter
Id, bei der ein übergeordnetes Vorgangsobjekt oder eine Liste von Objekten an den PowerShell-Befehl übergeben wird. -
Name: Eigenschaftenname der hinzuzufügenden Metadaten. Die Eigenschaft muss für den angegebenen übergeordneten Vorgang eindeutig sein. Die Eigenschaft darf keines der folgenden Zeichen enthalten: ()\/;:#.*?=<> []”’. - Value: Wert für die Eigenschaft.
-
Map: Wörterbuch von (Name, Wert)-Paaren für die Eigenschaften. Dies ist eine Alternative zum Festlegen der Metadaten mithilfe der Parameter
-Nameund-Value.
Um beispielsweise die Metadaten an alle übergeordneten Protokolldatensätze mit der ID 40 anzuhängen, führen Sie den folgenden PowerShell-Befehl aus:
Get-LogHighLevelOperation – Id 40 | Set-LogHighLevelOperationMetadata -Name A -Value B
Um die Metadaten an den übergeordneten Datensatz mit dem Benutzer abc@example.com anzuhängen, führen Sie den folgenden PowerShell-Befehl aus:
Get-LogHighLevelOperation – User `abc@example.com` | Set-LogHighLevelOperationMetadata -Name C -Value D
Abrufen mithilfe der Metadaten
Führen Sie die folgenden PowerShell-Befehle aus, um die zugehörigen Metadaten zum Abrufen der Protokolldatensätze zu verwenden:
-
Suche nach Schlüssel und Wert:
Get-LogHighLevelOperation -Metadata "Key:Value" -
Nach Wert eines beliebigen Schlüssels suchen:
Get-LogHighLevelOperation -Metadata "*:Value" -
Nach Schlüssel und beliebigem Wert suchen:
Get-LogHighLevelOperation -Metadata "Key:*"
Metadaten entfernen
Führen Sie den PowerShell-Befehl Remove-LogHighLevelOperationMetadata aus, um die zugehörigen Metadaten zu entfernen.
Remove-LogHighLevelOperationMetadata akzeptiert die folgenden Parameter:
- Id: ID des übergeordneten Vorgangs.
-
InputObject: Die übergeordneten Vorgänge, denen Sie die Metadaten hinzufügen. Dies ist eine Alternative zum Parameter
Id, bei der ein übergeordnetes Vorgangsobjekt oder eine Liste von Objekten an den PowerShell-Befehl übergeben wird. - Name: Eigenschaftsname der zu entfernenden Metadaten. Auf $null setzen, um alle Metadaten für das angegebene Objekt zu entfernen.
- Map: Wörterbuch von (Name, Wert)-Paaren für die Eigenschaften. Dies kann entweder eine Hashtabelle sein (erstellt mit @{“name1” = “val1”; “name2” = “val2”}) oder ein Zeichenfolgenwörterbuch (erstellt mit new-object “System.Collections.Generic.Dictionary[String, String]”). Die Eigenschaften, deren Namen mit den Schlüsseln in der Zuordnung übereinstimmen, werden entfernt.
In diesem Artikel
- Was protokolliert wird
- Konfigurationsprotokollierung verwalten
- Konfigurationsprotokollierung und obligatorische Protokollierung aktivieren und deaktivieren
- Speicherort der Konfigurationsprotokollierungsdatenbank ändern
- Anzeigen des Konfigurationsprotokollinhalts
- Berichte generieren
- Konfigurationsprotokollinhalt löschen
- API- und PowerShell-Protokolle anzeigen
- Metadaten mit Konfigurationsprotokollen verknüpfen