Citrix Virtual Apps and Desktops

Konfigurationsprotokollierung

Die Konfigurationsprotokollierung dient zum Erfassen der Sitekonfigurationsänderungen und Administratoraktivitäten in einer Datenbank. Das Feature ist in der Standardeinstellung aktiviert. Sie können den protokollierten Inhalt folgendermaßen verwenden:

  • Diagnose und Behandlung von Problemen nach Konfigurationsänderungen. Das Protokoll liefert eine Breadcrumbspur.
  • Hilfe beim Änderungsmanagement und der Nachverfolgung von Konfigurationen.
  • Bericht über Administratoraktivitäten.

Zum Festlegen der Einstellungen für die Konfigurationsprotokollierung, zum Anzeigen der Konfigurationsprotokolle und zum Generieren von HTML- und CSV-Berichten verwenden Sie Citrix Studio. Sie können die Anzeige des Konfigurationsprotokolls anhand von Datumsbereichen und Ergebnissen der Volltextsuche filtern. Ist die verbindliche Protokollierung aktiviert, verhindert sie, dass Änderungen an der Konfiguration vorgenommen werden, es sei denn diese können protokolliert werden. Mit der entsprechenden Berechtigung können Sie Einträge aus dem Konfigurationsprotokoll löschen. Sie können das Feature der Konfigurationsprotokollierung nicht zum Bearbeiten des Inhalts von Protokollen verwenden.

Die Konfigurationsprotokollierung verwendet ein PowerShell-SDK und den Konfigurationsprotokollierungsdienst. Der Konfigurationsprotokollierungsdienst wird auf jedem Controller der Site ausgeführt. Wenn ein Controller ausfällt, übernimmt automatisch der Dienst auf einem anderen Controller die Verarbeitung von Protokollanforderungen.

Standardmäßig ist die Konfigurationsprotokollierung aktiviert und verwendet die Datenbank, die zusammen mit der Site erstellt wurde (die Sitekonfigurationsdatenbank). Sie können einen anderen Speicherort für die Datenbank angeben. Die Konfigurationsprotokollierungsdatenbank unterstützt dieselben Features für hohe Verfügbarkeit wie die Sitekonfigurationsdatenbank.

Der Zugriff auf die Konfigurationsprotokollierung wird über die delegierte Administration mit den Einstellungen “Protokollierungseinstellungen bearbeiten” und “Konfigurationsprotokolle anzeigen” gesteuert.

Konfigurationsprotokolle werden bei der Erstellung lokalisiert. Beispiel: Ein auf Englisch erstelltes Protokoll wird unabhängig vom Gebietsschema des Lesers auf Englisch gelesen.

Gegenstand der Protokollierung

Konfigurationsänderungen und Administratoraktivitäten, die von Studio, Director und PowerShell-Skripts ausgehen, werden protokolliert. Beispiele protokollierter Konfigurationsänderungen sind Arbeiten (Erstellen, Bearbeiten, Löschen, Zuweisen) mit:

  • Maschinenkataloge
  • Bereitstellungsgruppen (einschließlich Ändern der Energieverwaltungseinstellungen)
  • Administratorrollen und Geltungsbereiche
  • Hostressourcen und Verbindungen
  • Citrix Richtlinien über Studio

Beispiele protokollierter Administratoraktivitäten:

  • Energieverwaltung für eine virtuelle Maschine oder einen Benutzerdesktop
  • Senden einer Nachricht an einen Benutzer von Studio oder Director aus

Die folgenden Vorgänge werden nicht protokolliert:

  • Autonome Vorgänge wie das Einschalten virtueller Maschinen per Poolverwaltung.
  • Über die Gruppenrichtlinien-Verwaltungskonsole implementierte Richtlinienaktionen; verwenden Sie Microsoft-Tools, um Protokolle dieser Aktionen anzuzeigen.
  • Über die Registrierung vorgenommene Änderungen, direkter Zugriff von der Datenbank oder von anderen Quellen als Studio, Director oder PowerShell.
  • Wenn die Bereitstellung initialisiert wird, steht die Konfigurationsprotokollierung ab dem Zeitpunkt zur Verfügung, zu dem die erste Instanz des Konfigurationsprotokollierungsdiensts sich beim Konfigurationsdienst registriert. Daher werden die frühen Phasen der Konfiguration nicht protokolliert (z. B., wenn das Datenbankschema bei der Initialisierung eines Hypervisors abgerufen und angewendet wird).

Verwalten der Konfigurationsprotokollierung

Standardmäßig wird für die Konfigurationsprotokollierung die Datenbank verwendet, die zusammen mit einer Site erstellt wird (die Sitekonfigurationsdatenbank). Citrix empfiehlt aus folgenden Gründen, einen anderen Speicherort für die Konfigurationsprotokollierungsdatenbank und die Überwachungsdatenbank zu wählen:

  • Die Backupstrategie für die Konfigurationsprotokollierungsdatenbank unterscheidet sich wahrscheinlich von der Backupstrategie für die Sitekonfigurationsdatenbank.
  • Die Menge der für die Konfigurationsprotokollierung (und den Überwachungsdienst) gesammelten Daten kann den für die Sitekonfigurationsdatenbank verfügbaren Speicherplatz zu stark limitieren.
  • Eine einzelne Fehlerquelle für die drei Datenbanken wird beseitigt (d. h. aufgeteilt).

Produkteditionen, die keine Konfigurationsprotokollierung unterstützen, haben keinen Knoten namens “Protokollierung” in Studio.

Aktivieren/Deaktivieren der Konfigurationsprotokollierung und der verbindlichen Protokollierung

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

  1. Melden Sie sich bei Web Studio an und wählen Sie im linken Bereich Protokollierung.
  2. Wählen Sie in der Aktionsleiste Einstellungen. Das Dialogfeld “Konfigurationsprotokollierung” enthält die Datenbankinformationen und Angaben dazu, ob Konfigurationsprotokollierung und verbindliche Protokollierung aktiviert oder deaktiviert sind.
  3. Wählen Sie die gewünschte Aktion:

    Zum Aktivieren der Konfigurationsprotokollierung wählen Sie Aktivieren. This is the default setting. Wenn nicht in die Datenbank geschrieben werden kann, werden die Informationen verworfen, der Vorgang wird jedoch fortgesetzt.

    Zum Deaktivieren der Konfigurationsprotokollierung wählen Sie Deaktivieren. Wenn die Protokollierung zuvor aktiviert war, können bereits vorhandene Protokolle weiterhin mit dem PowerShell-SDK gelesen werden.

    Zum Aktivieren der obligatorischen Protokollierung wählen Sie Keine Änderungen der Sitekonfiguration ohne Datenbankzugriff. Es wird dann keine Konfigurationsänderung oder administrative Aktivität, die normalerweise protokolliert würde, zugelassen, es sei denn, sie kann in die Konfigurationsprotokollierungsdatenbank geschrieben werden. Sie können die verbindliche Protokollierung nur aktivieren, wenn die Konfigurationsprotokollierung aktiviert ist. Tritt bei dem Dienst für die Konfigurationsprotokollierung ein Fehler auf, und die hohe Verfügbarkeit wird nicht verwendet, beginnt die verbindliche Protokollierung. In solchen Fällen werden Vorgänge, die normalerweise protokolliert würden, nicht ausgeführt.

    Zum Deaktivieren der obligatorischen Protokollierung wählen Sie Änderungen der Sitekonfiguration ohne Datenbankzugriff. Konfigurationsänderungen und administrative Aktivitäten sind dann zulässig, selbst wenn kein Zugriff auf die Konfigurationsprotokollierungsdatenbank besteht. This is the default setting.

Ändern des Speicherorts für die Konfigurationsprotokollierungsdatenbank

Sie können den Speicherort der Datenbank nicht ändern, wenn die verbindliche Protokollierung aktiviert ist, da bei der Standortänderung eine kurze Trennung verursacht wird, die 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.
  3. Wählen Sie in der Aktionsleiste Einstellungen.
  4. Klicken Sie im Dialogfeld “Protokollierungseinstellungen” auf Protokollierungsdatenbank ändern.
  5. Geben Sie im Dialogfeld “Protokollierungsdatenbank ändern” den Speicherort des Servers mit dem neuen Datenbankserver ein. Informationen zu gültigen Formaten finden Sie unter Datenbankadressformate.
  6. Damit die Datenbank von Studio erstellt wird, klicken Sie auf OK. Wenn Sie dazu aufgefordert werden, klicken Sie auf OK 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. Das Datenbankschema wird dann von Studio in die Datenbank hochgeladen. (Die Anmeldeinformationen werden nur während der Datenbankerstellung gespeichert.)
  7. Zum manuellen Erstellen der Datenbank klicken Sie auf Datenbankskript erstellen. Das generierte Skript enthält Anweisungen zum manuellen Erstellen der Datenbank. Stellen Sie vor dem Hochladen des Schemas sicher, dass die Datenbank leer ist und dass mindestens ein Benutzer Zugriffs- bzw. Änderungsberechtigung für die Datenbank hat.

Die Daten der Konfigurationsprotokollierung aus der älteren Datenbank werden nicht in die neue Datenbank importiert. Die Protokolle beider Datenbanken können beim Abrufen von Protokollen nicht aggregiert werden. Der erste Protokolleintrag in der neuen Datenbank für die Konfigurationsprotokollierung gibt an, dass eine Datenbankänderung stattfand; die vorherige Datenbank wird jedoch nicht identifiziert.

Anzeigen des Konfigurationsprotokolls

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. Ein Vorgang auf hoher Ebene führt zu einem oder mehreren Service- und SDK-Aufrufen, bei denen es sich um Operationen auf niedriger Ebene handelt. Wenn Sie im oberen Bereich eine Operation auf hoher Ebene auswählen, werden im unteren Bereich die Operationen auf niedriger Ebene angezeigt.
  • Sortiert die Anzeige. Sortiert die Anzeige, indem ihr auf eine Spaltenüberschrift klickt.
  • Protokolle filtern.Verfeinern Sie die Anzeige, indem Sie Filterbedingungen wie Tagesintervalle oder benutzerdefinierte Zeiträume festlegen oder vollständige oder teilweise Namen der Hauptaufgaben in das Suchfeld eingeben. Um nach dem Suchen zur Standardanzeige zurückzukehren, löschen Sie den Text im Feld Suchen.
  • Protokolle exportieren. Ausgewählte oder alle Protokolle zur Archivierung oder weiteren Analyse in eine CSV-Datei exportieren.
  • Spalten anpassen. Passen Sie die Anzeige Ihren Anforderungen an, indem Sie nicht standardmäßige Spalten wie Client-IP und Beschriftungen hinzufügen.
  • Beschriftungen verwalten. Beschriftungen für Ereignisprotokolle hinzufügen, bearbeiten und entfernen, um die Protokollorganisation und -verfolgung zu verbessern.

Anzeigeeigenschaften:

  • Schlägt eine Operation vor der Beendigung fehl, kann die Protokollierung in der Datenbank evtl. nicht abgeschlossen werden. Beispielsweise hat ein Startdatensatz dann keinen entsprechenden Stoppdatensatz. In solchen Fällen wird im Protokoll angezeigt, dass Informationen fehlen. Wenn Sie Protokolle auf Zeitbereichsbasis anzeigen, werden unvollständige Protokolle angezeigt, wenn die Daten mit den Kriterien übereinstimmen.

    Beispiel: Wenn Protokolle für die letzten fünf Tage angefordert werden und ein Protokoll zwar eine in den letzten fünf Tagen gelegene Startzeit, aber keine Endzeit hat, wird dieses ebenfalls angezeigt.

  • Wenn Sie bei Verwendung eines Skripts zum Aufrufen von PowerShell-Cmdlets eine Low-Level-Operation erstellen ohne die übergeordnete High-Level-Operation anzugeben, wird von der Konfigurationsprotokollierung eine Ersatz-High-Level-Operation erstellt.

Erstellen von Berichten

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 einzelne CSV-Tabelle vereinfacht. Kein Aspekt der Daten hat Vorrang in der Datei. Es wird keine Formatierung verwendet und keine Lesbarkeit angenommen. Die Datei (unter dem Namen “MyReport”) enthält die Daten in einem allgemein verwendbaren Format. CSV-Dateien werden oft für die Archivierung oder als Datenquelle für ein Tool zur Bearbeitung von Berichten oder Daten (z. B. Microsoft Excel) verwendet.
  • Der HTML-Bericht enthält Protokolldaten aus einem angegebenen Zeitintervall in lesbarem Format. Er bietet eine strukturierte Ansicht für die Prüfung auf Änderungen, durch die navigiert werden kann. Der HTML-Bericht umfasst zwei Dateien: Zusammenfassung und Details. Die Zusammenfassung enthält High-Level-Operationen mit Informationen zu Zeitpunkt, Auslöser und Ergebnis. Klicken Sie auf den Link Details neben jedem Vorgang, um zu den Low-Level-Operationen in der Detailsdatei zu navigieren, die zusätzliche Informationen bietet.

Zum Generieren eines Konfigurationsprotokollierungsberichts wählen Sie im Studio-Navigationsbereich Protokollierung und dann in der AktionsleisteBenutzerdefinierten Bericht erstellen.

  • Wählen Sie den Datumsbereich für den Bericht.
  • Wählen Sie das Berichtsformat: CSV, HTML oder beides.
  • Navigieren Sie zu dem Speicherort, an dem Sie den Bericht speichern möchten.

Löschen des Konfigurationsprotokolls

Zum Löschen des Konfigurationsprotokolls müssen Sie über bestimmte Rechte der delegierten Administration und Berechtigungen für die SQL Server-Datenbank verfügen.

  • Delegierte Administration: Sie müssen eine Rolle der delegierten Administration haben, mit der die Bereitstellungskonfiguration gelesen werden kann. Die Volladministratorrolle hat diese Berechtigung. Für eine benutzerdefinierte Rolle muss für die Kategorie “Andere Berechtigungen” “Lesen” oder “Verwalten” aktiviert sein.

    Wenn Sie ein Backup der Konfigurationsprotokolldaten vor dem Löschen anlegen möchten, muss die benutzerdefinierte Rolle in der Kategorie der Protokollierungsberechtigungen Lese- oder Verwaltungsberechtigung haben.

  • SQL Server-Datenbank: Sie müssen einen Anmeldenamen für SQL Server haben und zum Löschen von Datensätzen aus der Datenbank berechtigt sein. Dies kann mit zwei Möglichkeiten erreicht werden:

    • Verwenden Sie zur Anmeldung für die SQL Server-Datenbank die Serverrolle “sysadmin”, mit der Sie beliebige Aktivitäten auf dem Datenbankserver durchführen können. Auch die Serverrollen serveradmin oder setupadmin sind zum Löschen von Vorgängen berechtigt.

    • Wenn Ihre Bereitstellung mehr Sicherheit erfordert, verwenden Sie Anmeldeinformationen einer anderen Rolle als “sysadmin”, die einem Datenbankbenutzer zugeordnet sind, der zum Löschen von Datensätzen aus der Datenbank berechtigt ist.

      1. Erstellen Sie in SQL Server Management Studio eine SQL Server-Anmeldung mit einer anderen Serverrolle (nicht “sysadmin”).
      2. Ordnen Sie die Anmeldung einem Benutzer in der Datenbank zu. SQL Server erstellt automatisch einen Benutzer in der Datenbank mit dem gleichen Namen.
      3. Geben Sie für die Datenbankrollen-Mitgliedschaft 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.

Löschen der Konfigurationsprotokolle:

  1. Melden Sie sich bei Web Studio an und wählen Sie im linken Bereich Protokollierung.
  2. Wählen Sie in der Aktionsleiste Protokolle löschen.
  3. Sie haben nun die Möglichkeit, vor dem Löschen ein Backup der Protokolle anzulegen. Wenn Sie eine Backupdatei erstellen, navigieren Sie zu dem Speicherort, an dem diese gespeichert wird. Das Backup wird als CSV-Datei erstellt.

Nach dem Löschen der Konfigurationsprotokolle wird das Löschen des Protokolls als erste Aktivität im leeren Protokoll erfasst. Dieser Eintrag enthält Details darüber, wann und von wem die Protokolle gelöscht wurden.

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 abmelden.

Um PowerShell-Befehle anzuzeigen, die den von Ihnen im Tagesverlauf ausgeführten Benutzeroberflächenaktionen entsprechen, klicken Sie auf die Registerkarte PowerShell.

Metadaten zu Konfigurationsprotokollen zuordnen

Sie können Metadaten an Konfigurationsprotokolle anhängen, indem Sie den Protokolldatensätzen ein name-value-Paar namens MetadataMap zuordnen.

Hinweis:

  • Sie können Metadaten nur High-Level-Operation-Objekten anfügen.
  • Die Metadaten werden den vorhandenen Datensätzen zum Zeitpunkt der Ausführung zugeordnet.

Metadaten festlegen

Führen Sie den PowerShell-Befehl Set-LogHighLevelOperationMetadata aus, um der MetadataMap einen Protokolldatensatz zuzuordnen. Set-LogHighLevelOperationMetadata übernimmt die folgenden Parameter:

  • Id: ID der High-Level-Operation.
  • InputObject: High-Level-Operationen, zu denen Sie die Metadaten hinzufügen. Dies ist eine Alternative zum Parameter Id, bei dem ein übergeordnetes Operationsobjekt oder eine Objektliste an den PowerShell-Befehl übergeben wird.
  • Name: Eigenschaftsname der hinzuzufügenden Metadaten. Die Eigenschaft muss für die angegebene High-Level-Operation eindeutig sein. Die Eigenschaft darf keines der folgenden Zeichen enthalten ()\/;:#.*?=<> []”’.
  • Value: Wert der Eigenschaft.
  • Map: Wörterbuch von name-value-Paaren für die Eigenschaften. Dies ist eine Alternative zum Setzen der Metadaten mit den Parametern -Name und -Value.

Führen Sie beispielsweise den folgenden PowerShell-Befehl aus, um die Metadaten an alle High-Level-Protokolldatensätze mit der ID 40 anzufügen:

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

Anhand von Metadaten abrufen

Führen Sie die folgenden PowerShell-Befehle aus, um Protokolldatensätze anhand der zugehörigen Metadaten abzurufen:

  • 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 einem beliebigen 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 übernimmt die folgenden Parameter:

  • Id: ID der High-Level-Operation.
  • InputObject: High-Level-Operationen, zu denen Sie die Metadaten hinzufügen. Dies ist eine Alternative zum Parameter Id`, bei dem ein übergeordnetes Operationsobjekt oder eine Liste von Objekten an den PowerShell-Befehl übergeben wird.
  • Name: Eigenschaftsname der Metadaten, die entfernt werden sollen. $null entfernt alle Metadaten aus dem angegebenen Objekt.
  • Map: Wörterbuch von name-value-Paaren für die Eigenschaften. Dies kann entweder eine Hashtabelle sein (erstellt mit @{“name1” = “val1”; “name2” = “val2”}) oder ein Zeichenkettenwörterbuch (erstellt mit new-object “System.Collections.Generic.Dictionary[String, String]”). Die Eigenschaften, deren Namen mit den Schlüsseln in Map übereinstimmen, werden entfernt.