Konfigurationsprotokollierung

Die Konfigurationsprotokollierung ist eine Funktion, die Änderungen 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 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 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-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 des Änderns 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 Datenbankzugriff 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 ist. 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 Protokollierungsknoten in Studio.

Konfigurationsprotokollierung und obligatorische Protokollierung aktivieren und deaktivieren

Standardmäßig ist die Konfigurationsprotokollierung aktiviert und die obligatorische Protokollierung deaktiviert.

  1. Melden Sie sich bei Web Studio an und wählen Sie im linken Bereich Protokollierung aus.
  2. 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.
  3. 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. 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 keine Hochverfügbarkeit 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 Datenbankspeicherort nicht ändern, wenn die obligatorische Protokollierung aktiviert ist, da die Standortänderung ein kurzes Trennintervall beinhaltet, das nicht protokolliert werden kann.

  1. Erstellen Sie einen Datenbankserver mit einer unterstützten SQL Server-Version.
  2. Melden Sie sich bei Web Studio an und wählen Sie im linken Bereich Protokollierung aus.
  3. Wählen Sie in der Aktionsleiste Einstellungen aus.
  4. Wählen Sie im Dialogfeld „Protokollierungseinstellungen“ die Option Protokollierungsdatenbank ändern.
  5. Geben Sie im Dialogfeld „Protokollierungsdatenbank ändern“ den Speicherort des Servers an, der den neuen Datenbankserver enthält. Gültige Formate finden Sie unter Datenbankadressformate.
  6. Klicken Sie auf OK, damit Studio die Datenbank erstellen kann. 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.)
  7. 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 zum Zugriff und zur Änderung der Datenbank hat, 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 zusammengeführt werden. Der erste Protokolleintrag in der neuen Konfigurationsprotokollierungsdatenbank zeigt an, dass eine Datenbankänderung stattgefunden hat, identifiziert jedoch nicht die vorherige Datenbank.

Konfigurationsprotokollinhalt anzeigen

Um den Konfigurationsprotokollinhalt anzuzeigen, wählen Sie im linken Bereich Protokollierung und dann die Registerkarte Ereignisse.

Standardmäßig werden Ereignisprotokolle nach Administratorennamen 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, werden die untergeordneten Operationen im unteren Bereich angezeigt.
  • 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 die Kriterien erfüllen.

    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 Vorrang in der Datei. Es wird keine Formatierung verwendet und keine menschliche Lesbarkeit angenommen. 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 für Menschen lesbare 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 High-Level-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 Low-Level-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 und dann Create custom report 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.

Inhalt des Konfigurationsprotokolls 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 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. Dies kann auf zwei Arten erfolgen:

    • Verwenden Sie ein SQL Server-Datenbank-Login mit einer Sysadmin-Serverrolle, die es Ihnen ermöglicht, beliebige Aktivitäten auf dem Datenbankserver auszuführen. Alternativ ermöglichen die Serverrollen serveradmin oder setupadmin das 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 hat.

      1. Erstellen Sie in SQL Server Management Studio ein SQL Server-Login mit einer anderen Serverrolle als ‘sysadmin’.
      2. 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.
      3. Geben Sie in der Datenbankrollenmitgliedschaft mindestens eines der Rollenmitglieder für den Datenbankbenutzer an: ConfigurationLoggingSchema_ROLE oder dbowner.

      Weitere Informationen finden Sie in der Dokumentation zu SQL Server Management Studio.

So löschen Sie die Konfigurationsprotokolle:

  1. Melden Sie sich bei Web Studio an und wählen Sie im linken Bereich Protokollierung aus.
  2. Wählen Sie in der Aktionsleiste Protokolle löschen aus.
  3. 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 -Name und -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"

  • Suche nach Wert eines beliebigen Schlüssels:

    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 Parameter Id, bei der ein übergeordnetes Vorgangsobjekt oder eine Liste von Objekten an den PowerShell-Befehl übergeben wird.
  • Name: Eigenschaftenname 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.