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 die protokollierten Inhalte verwenden, um:
- Probleme nach vorgenommenen Konfigurationsänderungen zu diagnostizieren und zu beheben. Das Protokoll bietet eine Nachverfolgung.
- Das Änderungsmanagement zu unterstützen und Konfigurationen nachzuverfolgen.
- Administrative Aktivitäten zu melden.
Sie legen die Einstellungen für die Konfigurationsprotokollierung fest, zeigen Konfigurationsprotokolle an und generieren HTML- und CSV-Berichte über Citrix Studio. Sie können die Anzeigen von Konfigurationsprotokollen nach Datumsbereichen und Volltextsuchergebnissen filtern. Die obligatorische Protokollierung verhindert, wenn sie aktiviert ist, dass Konfigurationsänderungen vorgenommen werden, es sei denn, sie können protokolliert werden. Mit entsprechender Berechtigung können Sie Einträge aus dem Konfigurationsprotokoll löschen. Sie können die Konfigurationsprotokollierungsfunktion nicht zum Bearbeiten von Protokollinhalten verwenden.
Die Konfigurationsprotokollierung verwendet ein PowerShell SDK und den Konfigurationsprotokollierungsdienst. Der Konfigurationsprotokollierungsdienst läuft auf jedem Controller in der Site. Wenn ein Controller ausfällt, ü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 Datenbank für die Konfigurationsprotokollierung unterstützt dieselben Hochverfügbarkeitsfunktionen wie die Sitekonfigurationsdatenbank.
Der Zugriff auf die Konfigurationsprotokollierung wird über die delegierte Administration gesteuert, mit den Berechtigungen zum Bearbeiten von Protokollierungseinstellungen und 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-Skripts initiiert werden, werden protokolliert. Beispiele für protokollierte Konfigurationsänderungen sind die Arbeit mit (Erstellen, Bearbeiten, Löschen, Zuweisen von):
- Maschinenkatalogen
- Bereitstellungsgruppen (einschließlich Ändern der Energieverwaltungseinstellungen)
- Administratorrollen und -bereichen
- Host-Ressourcen und -Verbindungen
- Citrix-Richtlinien über Studio
Beispiele für protokollierte administrative Änderungen sind:
- Energieverwaltung einer virtuellen Maschine oder eines Benutzerdesktops
- Studio oder Director senden eine Nachricht an einen Benutzer
Die folgenden Vorgänge werden nicht protokolliert:
- Autonome Vorgänge wie das Einschalten virtueller Maschinen durch das Poolmanagement.
- 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 Protokollierungsknoten 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 aus.
- Wählen Sie in der Aktionsleiste Einstellungen aus. 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 aus:
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. Es sind keine Konfigurationsänderungen oder administrativen Aktivitäten zulässig, die normalerweise protokolliert werden, es sei denn, sie können 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 unter Verwendung einer unterstützten SQL Server-Version.
- Melden Sie sich bei Web Studio an und wählen Sie im linken Bereich Protokollierung aus.
- Wählen Sie in der Aktionsleiste Einstellungen aus.
- 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.
- Klicken Sie auf OK, damit Studio die Datenbank erstellen kann. Klicken Sie auf OK, wenn Sie dazu aufgefordert werden, und die Datenbank wird automatisch erstellt. Studio versucht, mit den Anmeldeinformationen des aktuellen Studio-Benutzers auf die Datenbank zuzugreifen. Wenn dies fehlschlägt, 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 zur manuellen Erstellung 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.
Inhalt des Konfigurationsprotokolls anzeigen
Um den Inhalt des Konfigurationsprotokolls anzuzeigen, wählen Sie im linken Bereich Protokollierung und dann die Registerkarte Ereignisse.
Standardmäßig werden Ereignisprotokolle nach Administratornamen aufgelistet. Sie können bei Bedarf die folgenden Aufgaben ausführen:
- Protokolldetails anzeigen. Eine übergeordnete Operation führt zu einem oder mehreren Dienst- und SDK-Aufrufen, die untergeordnete Operationen sind. Wenn Sie eine übergeordnete Operation im oberen Bereich auswählen, zeigt der untere Bereich die untergeordneten Operationen an.
- Anzeige sortieren. Sortieren Sie die Anzeige, indem Sie auf eine Spaltenüberschrift klicken.
- Protokolle filtern. Verfeinern Sie die Anzeige, indem Sie Filterbedingungen wie Tagesintervalle oder benutzerdefinierte Zeiträume festlegen oder vollständige oder teilweise Namen von Hauptaufgaben in das Suchfeld eingeben. Um nach der Suche zur Standardanzeige zurückzukehren, löschen Sie den Text im Suchfeld.
- Protokolle exportieren. Exportieren Sie ausgewählte oder alle Protokolle in eine CSV-Datei zur Archivierung oder weiteren Analyse.
- Spalten anpassen. Passen Sie die Anzeige an Ihre Bedürfnisse an, indem Sie nicht standardmäßige Spalten wie Client-IP und Bezeichnungen hinzufügen.
- Bezeichnungen verwalten. Fügen Sie Bezeichnungen für Ereignisprotokolle hinzu, bearbeiten und entfernen Sie sie, um die Protokollorganisation und -verfolgung zu verbessern.
Anzeigemerkmale:
-
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 den Kriterien entsprechen.
Wenn Sie beispielsweise Protokolle für die letzten fünf Tage anfordern und ein Protokoll mit einer Startzeit in den letzten fünf Tagen keine Endzeit hat, wird es eingeschlossen.
-
Wenn Sie ein Skript verwenden, das PowerShell-Cmdlets aufruft, und Sie einen Low-Level-Vorgang erstellen, ohne einen übergeordneten High-Level-Vorgang anzugeben, erstellt die Konfigurationsprotokollierung einen Ersatz-High-Level-Vorgang.
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 einer einzigen CSV-Tabelle zusammengeführt. Kein Aspekt der Daten hat in der Datei 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 zum Archivieren von Daten 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 übergeordnete Vorgänge auf: wann jeder Vorgang stattfand, von wem und das Ergebnis. Durch Klicken auf einen Details-Link neben jedem Vorgang gelangen Sie zu den untergeordneten Vorgängen in der Details-Datei, die zusätzliche Informationen enthält.
Um einen Konfigurationsprotokollbericht zu generieren, wählen Sie Logging im Navigationsbereich von Studio aus und wählen Sie dann Create custom report in der Aktionsleiste 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.
Inhalt des Konfigurationsprotokolls 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 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 diese löschen, 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. Dazu gibt es zwei Möglichkeiten:
-
Verwenden Sie ein SQL Server-Datenbank-Login mit einer sysadmin-Serverrolle, die Ihnen die Ausführung beliebiger Aktivitäten auf dem Datenbankserver ermöglicht. Alternativ ermöglichen Ihnen 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.
- Wählen Sie in der Aktionsleiste Protokolle löschen.
- 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 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
Id-Parameter, bei dem ein übergeordnetes Vorgangsobjekt oder eine Liste von Objekten an den PowerShell-Befehl übergeben wird. -
Name: Eigenschaftsname 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 die Metadaten beispielsweise 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" -
Suche nach Wert (beliebiger Schlüssel):
Get-LogHighLevelOperation -Metadata "*:Value" -
Suche nach Schlüssel und beliebigem Wert:
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 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 (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 Map übereinstimmen, werden entfernt.
In diesem Artikel
- Was wird protokolliert?
- Konfigurationsprotokollierung verwalten
- Konfigurationsprotokollierung und obligatorische Protokollierung aktivieren und deaktivieren
- Speicherort der Konfigurationsprotokollierungsdatenbank ändern
- Inhalt des Konfigurationsprotokolls anzeigen
- Berichte generieren
- Inhalt des Konfigurationsprotokolls löschen
- API- und PowerShell-Protokolle anzeigen
- Metadaten mit Konfigurationsprotokollen verknüpfen