Konfigurationsprotokollierung
Die Konfigurationsprotokollierung ist eine Funktion, die Standortkonfigurationsänderungen 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.
- Das Änderungsmanagement zu unterstützen und Konfigurationen zu verfolgen.
- Administrative Aktivitäten zu melden.
Sie legen die Einstellungen für die Konfigurationsprotokollierung fest, zeigen Konfigurationsprotokolle an und generieren HTML- und CSV-Berichte aus Citrix Studio. 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 im Standort. 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 des Standorts erstellt wird (die Standortkonfigurationsdatenbank). Sie können einen anderen Speicherort für die Datenbank angeben. Die Konfigurationsprotokollierungsdatenbank unterstützt dieselben Hochverfügbarkeitsfunktionen wie die Standortkonfigurationsdatenbank.
Der Zugriff auf die Konfigurationsprotokollierung wird über die delegierte Administration gesteuert, mit den Berechtigungen zum Bearbeiten von Protokollierungseinstellungen und zum Anzeigen von Konfigurationsprotokollen.
Konfigurationsprotokolle werden bei ihrer Erstellung lokalisiert. Ein in Englisch erstelltes Protokoll wird beispielsweise in Englisch gelesen, unabhängig vom Gebietsschema des Lesers.
Was wird protokolliert
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 von virtuellen 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, ist 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 Sitekonfigurationsdatenbank 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 Sitekonfigurationsdatenbank.
- Das für die Konfigurationsprotokollierung (und den Überwachungsdienst) gesammelte Datenvolumen könnte den für die Sitekonfigurationsdatenbank 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 auf die Konfigurationsprotokollierungsdatenbank nicht zugegriffen werden kann. 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 von Protokollen 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.
Konfigurationsprotokollinhalt anzeigen
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.
Wenn ein Vorgang vor dem Abschluss fehlschlägt, 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 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 Protokolldaten aus einem angegebenen Zeitintervall. Die hierarchischen Daten in der Datenbank werden in eine einzige CSV-Tabelle umgewandelt. Kein Aspekt der Daten hat Vorrang in der Datei. Es wird keine Formatierung verwendet und keine menschliche Lesbarkeit vorausgesetzt. Die Datei (mit dem Namen MyReport) enthält die Daten in einem universell nutzbaren Format. CSV-Dateien werden häufig zur Datenarchivierung oder als Datenquelle für ein Berichts- oder Datenbearbeitungstool wie Microsoft Excel verwendet.
- Der HTML-Bericht bietet eine menschenlesbare Form der Protokolldaten 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 Operationen auf hoher Ebene auf: wann jede Operation stattfand, von wem und das Ergebnis. Durch Klicken auf einen Details-Link neben jeder Operation gelangen Sie zu den Operationen auf niedriger Ebene in der Details-Datei, die zusätzliche Informationen enthält.
Um einen Konfigurationsprotokollbericht zu generieren, wählen Sie Protokollierung im Studio-Navigationsbereich und dann Benutzerdefinierten Bericht erstellen in der Aktionsleiste.
- Wählen Sie den Datumsbereich für den Bericht aus.
- Wählen Sie das Berichtsformat: 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 Berechtigungen für die delegierte Administration und die SQL Server-Datenbank verfügen.
-
Delegierte Administration: Sie müssen über eine Rolle für die delegierte Administration verfügen, die das Lesen der Bereitstellungskonfiguration erlaubt. Die Rolle des vollständigen Administrators verfügt über diese Berechtigung. Eine benutzerdefinierte Rolle muss in der Kategorie „Andere Berechtigungen“ die Option „Nur Lesen“ oder „Verwalten“ ausgewählt haben.
Um eine Sicherung der Konfigurationsprotokolldaten zu erstellen, bevor sie gelöscht werden, 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 eine SQL Server-Anmeldung mit der Berechtigung zum Löschen von Datensätzen aus der Datenbank verfügen. Es gibt zwei Möglichkeiten, dies zu tun:
-
Verwenden Sie eine SQL Server-Datenbankanmeldung mit einer sysadmin-Serverrolle, die es Ihnen ermöglicht, jede Aktivität auf dem Datenbankserver auszuführen. Alternativ ermöglichen die
serveradminodersetupadminServerrollen das Ausführen von Löschvorgängen. -
Wenn Ihre Bereitstellung mehr Sicherheit erfordert, verwenden Sie eine Nicht-Sysadmin-Datenbankanmeldung, die einem Datenbankbenutzer zugeordnet ist, der die Berechtigung zum Löschen von Datensätzen aus der Datenbank hat.
- Erstellen Sie in SQL Server Management Studio eine SQL Server-Anmeldung mit einer Serverrolle, die nicht ‘sysadmin’ ist.
- Ordnen Sie die Anmeldung einem Benutzer in der Datenbank zu. SQL Server erstellt automatisch einen Benutzer in der Datenbank mit demselben Namen wie die Anmeldung.
- 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 Metadaten an Konfigurationsprotokolle anhängen, indem Sie ein name-value-Paar namens MetadataMap mit den Protokolldatensätzen verknüpfen.
Hinweis:
- Sie können Metadaten nur an übergeordnete Vorgangsobjekte anhängen.
- 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 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
Id-Parameter, bei dem 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 (erstellt mit @{“name1” = “val1”; “name2” = “val2”}) oder ein Zeichenfolgenwörterbuch (erstellt mit new-object “System.Collections.Generic.Dictionary[String, String]”) sein. Die Eigenschaften, deren Namen mit den Schlüsseln in der Zuordnung übereinstimmen, werden entfernt.
In diesem Artikel
- Was wird protokolliert
- Konfigurationsprotokollierung verwalten
- Konfigurationsprotokollierung und obligatorische Protokollierung aktivieren und deaktivieren
- Speicherort der Konfigurationsprotokollierungsdatenbank ändern
- Konfigurationsprotokollinhalt anzeigen
- Berichte generieren
- Konfigurationsprotokollinhalt löschen
- API- und PowerShell-Protokolle anzeigen
- Metadaten mit Konfigurationsprotokollen verknüpfen