Citrix Virtual Apps and Desktops

Anzeigen und Verwenden von AOT-Protokollen

Zugriff auf Protokolle über die Director-Benutzeroberfläche

Schritt 1

Bearbeiten Sie die Datei StartLogServer.bat

Die Datei StartLogServer.bat enthält alle Konfigurationsparameter, die zum Starten des AOT-Protokollserver-Containers verwendet werden, einschließlich mehrerer Umgebungsvariablen, die den Protokollzugriff und das Verhalten steuern. Eine der wichtigsten Einstellungen ist LOCAL_DOWN_ONLY.

  • Wenn LOCAL_DOWN_ONLY=false, akzeptiert der Protokollserver Remote-Anfragen zur Protokollanzeige. Dies ermöglicht es Citrix Director/Monitor, sich mit dem Protokollserver zu verbinden und AOT-Protokolle direkt in der Monitor-Benutzeroberfläche anzuzeigen.

  • Wenn LOCAL_DOWN_ONLY=true, beschränkt der Protokollserver den Protokollzugriff auf lokale Verbindungen. In diesem Modus müssen Sie sich direkt mit dem Protokollserver-Computer verbinden, um Protokolle anzuzeigen, und Citrix Director Monitor kann keine Protokolle abrufen oder anzeigen.

AOT-Bat-Datei

Schritt 2

Web Studio bietet eine spezielle Einstellung, die es Citrix Director ermöglicht, sich mit dem AOT-Protokollserver zu verbinden und Protokolle in der Monitor-Konsole anzuzeigen. Sobald die Web Studio-Einstellungen gespeichert sind, aktualisieren die Delivery Controller die Site-Konfiguration, und Director empfängt die Protokollserverdetails, einschließlich der Protokollserveradresse, des Ports und des Authentifizierungsschlüssels. Der Director verwendet diese Einstellungen, um eine sichere Verbindung zum Protokollserver herzustellen.

Schritt 3

Nach der Konfiguration:

  1. Öffnen Sie Citrix Director.
  2. Eine neue Option Logs erscheint im linken Navigationsbereich.
  3. Wählen Sie Logs aus, und Sie sehen die Seite „Erste Schritte“. Klicken Sie auf Close, um sie zu überspringen, da wir diese Einstellungen bereits vorgenommen haben.
  4. Nun sehen Sie, wie Director AOT-Protokolle direkt vom Protokollserver abruft und anzeigt.

Citrix Director

Die Seite Protokolle in Director bietet eine einheitliche Ansicht von AOT-Ereignissen von Delivery Controllern, VDAs, StoreFront-Servern und anderen Citrix-Komponenten. Sie können Protokolle in Echtzeit suchen, filtern und überprüfen, um Probleme schnell zu beheben.

Freitextsuche: Oben auf der Seite „Protokolle“ finden Sie eine Freitext-Suchleiste. Sie können beliebige Schlüsselwörter eingeben, um die Ergebnisse einzugrenzen. Die Suche aktualisiert die Ergebnisse sofort, sobald Sie Filter anwenden. Beispiele hierfür sind:

  • Benutzernamen
  • Maschinennamen
  • Ereignisschlüsselwörter (zum Beispiel: Registrierung, Authentifizierung, STA)
  • Transaktions-IDs
  • Fehlermeldungen oder Teilzeichenfolgen

Zeitfilter: Verwenden Sie die Zeitauswahl (zum Beispiel: Letzte 5 Minuten, Letzte 1 Stunde, Letzte 24 Stunden), um Protokolle anzuzeigen, die innerhalb eines bestimmten Zeitraums generiert wurden. Dies hilft Ihnen, Ereignisse schnell um den genauen Zeitpunkt zu isolieren, zu dem ein Problem aufgetreten ist.

Kategoriefilter: Das Feld „Kategorie“ ermöglicht es Ihnen, Protokolle basierend auf dem Ereignistyp oder Subsystem zu filtern. Dies hilft Ihnen, sich auf Protokolle zu konzentrieren, die sich auf Anwendungsstart, Registrierung, VDA-Konfiguration, Grafik, HDX Direct, ICA-Verbindung usw. beziehen.

Protokollklassenfilter: Der Protokollklassenfilter gruppiert Protokolle nach Schweregrad oder Ereignistyp. Dadurch können Sie sich bei der Fehlerbehebung nur auf Fehler oder wichtige Ereignisse konzentrieren. Gängige Klassen sind:

  • Information
  • Warnung
  • Fehler
  • Fehler

Hostname-Filter: Der Hostname-Filter ermöglicht die Auswahl einer bestimmten Maschine – wie z. B. eines VDA, Delivery Controllers, CWA oder StoreFront-Servers. Dies ist nützlich, wenn Sie Protokolle für einen einzelnen Endpunkt oder eine VM detailliert untersuchen möchten, anstatt die gesamte Bereitstellung zu durchsuchen.

Dieser zentralisierte Zugriff optimiert die Fehlerbehebung, indem er einen schnellen Protokollabruf und eine schnelle Analyse von einer einzigen Konsole aus ermöglicht. Erfahren Sie mehr über die Voraussetzungen und den Einstieg in Director – Protokolle.

Zugriff auf Protokolle über den Log-Server

Der folgende Inhalt ist: AuthKey generieren. Um den Zugriff auf Protokolle zu ermöglichen, muss der Benutzer

  1. Ändern Sie das StartLogServer.bat Skript LOCAL_DOWN_ONLY=false

  2. Generieren Sie den AuthKey

Um Ihre Protokolle zu schützen, benötigen Sie einen AuthKey, bevor Sie sie herunterladen. Gehen Sie wie folgt vor:

  1. Holen Sie sich Ihren AuthKey – Verwenden Sie Ihren eigenen Rollennamen/Namen, um ihn zu generieren.
  2. Lokal ausführen – Skripte können nur auf der Maschine ausgeführt werden, auf der der Docker-Container installiert ist.
  3. Windows-Benutzer – Verwenden Sie die GetAuthKey.bat Skripte anstelle von Shell-Skripten.
  4. Protokolle herunterladen – Nach der Authentifizierung können Sie Ihre Protokolle sicher abrufen.

Generieren und Verwalten von Authentifizierungsschlüsseln für den AOT Log Server

Sie können die bereitgestellten .sh- (Linux) oder .bat- (Windows) Skripte verwenden, um schnell einen neuen Authentifizierungsschlüssel für eine bestimmte Rolle oder einen Benutzer zu generieren. Diese Skripte vereinfachen den Prozess, indem sie den generierten Schlüssel zusammen mit der zugehörigen Rolle zurückgeben.

Für Linux

./GetAuthKey.sh role-name
<!--NeedCopy-->

Für Windows

GetAuthKey.bat role-name
<!--NeedCopy-->

Der AOT-Log-Server bietet Befehle zur Verwaltung von Authentifizierungsschlüsseln, die verschiedenen Rollen oder Benutzern zugeordnet sind. Diese Befehle ermöglichen es Administratoren, Authentifizierungsschlüssel direkt aus dem Container hinzuzufügen, aufzulisten, zu validieren und zu löschen. Verwenden Sie die verfügbaren Docker-Exec-Befehle direkt auf dem Log-Server-Container.

  • Neuen Authentifizierungsschlüssel hinzufügen: Erstellt einen neuen Authentifizierungsschlüssel für eine angegebene Rolle oder einen Benutzer:

docker exec logserver /app/authkey add <RoleName>

  • Alle Authentifizierungsschlüssel auflisten: Zeigt alle vorhandenen Rollen/Benutzer an, für die Authentifizierungsschlüssel erstellt wurden:

docker exec logserver /app/authkey list

  • Authentifizierungsschlüssel validieren: Überprüft, ob ein gegebener Authentifizierungsschlüssel gültig ist und identifiziert die zugehörige Rolle:

docker exec logserver /app/authkey validate <key>

  • Authentifizierungsschlüssel löschen: Entfernt einen Authentifizierungsschlüssel, der einer bestimmten Rolle zugeordnet ist:

docker exec logserver /app/authkey del <RoleName>

  • Befehlsverwendung anzeigen: Zeigt verfügbare Optionen für die Verwaltung von Authentifizierungsschlüsseln an:

docker exec logserver /app/authkey ??

Das folgende Beispiel zeigt, wie Authentifizierungsschlüssel verwaltet werden:

AOT-Authentifizierungsschlüssel

Maschinennamen auflisten, die ihre AOT-Protokolle bereits an den Logserver gesendet haben

Der Parameter ist der Schlüssel, der von GetAuthKey.sh abgerufen wird.

Für Linux

./ListMachines.sh ebac9b7726cb4be597c92c6769134d25
{"machines":["MachineName"]}
<!--NeedCopy-->

Leere Maschinen bedeuten, dass keine Protokolle vorhanden sind.

Für Windows

ListMachines.bat ebac9b7726cb4be597c92c6769134d25
{"machines":["MachineName"]}
<!--NeedCopy-->

Für Windows PowerShell, wenn LogServer mit „-e LOCAL_DOWN_ONLY=false“ startet:

Invoke-WebRequest -Uri "https://logserver_fqdn:8443/ctxlogserver/Download/ListMachine" -Headers @{ AuthKey = "ebac9b7726cb4be597c92c6769134d25" }
<!--NeedCopy-->

Ersetzen Sie logserver_fqdn durch den tatsächlichen FQDN des Logservers und 8443 durch den tatsächlichen Port des Logservers. Ersetzen Sie https durch http, wenn im http-Modus installiert.

Leere Maschinen bedeuten, dass keine Protokolle vorhanden sind.

Protokolle nach Maschinenname und Zeitbereich herunterladen.

Die Zeit ist im UTC-Format: YYYY-mm-ddTHH:MM:SSZ.

#Usage: ./DownloadLogsByTime.sh [AuthKey] [MachineName] [StartTime|YYYY-mm-ddTHH:MM:SSZ] [EndTime|YYYY-mm-ddTHH:MM:SSZ] [OutputFile]
#Example:
<!--NeedCopy-->

Für Linux

./DownloadLogsByTime.sh ebac9b7726cb4be597c92c6769134d25 MachineName 2025-01-01T00:00:00Z 2025-01-02T00:00:00Z logs.csv
<!--NeedCopy-->

Für Windows

DownloadLogsByTime.bat ebac9b7726cb4be597c92c6769134d25 MachineName 2025-01-01T00:00:00Z 2025-01-02T00:00:00Z logs.csv
<!--NeedCopy-->

Für Windows PowerShell, wenn LogServer mit „-e LOCAL_DOWN_ONLY=false“ startet:

Invoke-WebRequest -Uri "https://logserver_fqdn:8443/ctxlogserver/Download/TimeRange?start=2025-01-01T00:00:00Z&end=2025-01-02T00:00:00Z" -Headers @{ AuthKey = "ebac9b7726cb4be597c92c6769134d25" } -OutFile logs.csv
<!--NeedCopy-->

Protokolle nach Schlüsselwort(en)-Filter herunterladen, Zeit im UTC-Format

Hinweis:

  • Ein Schlüsselwort kann ein einzelnes Wort oder eine Kombination von Wörtern sein.
  • Schlüsselwörter können überall innerhalb der Protokollnachricht übereinstimmen.
  • Eine Transaktions-ID kann auch als Schlüsselwort verwendet werden.
#Usage: ./DownloadLogsByWords.sh [AuthKey] [StartTime|YYYY-mm-ddTHH:MM:SSZ] [EndTime|YYYY-mm-ddTHH:MM:SSZ] [SearchWords] [OutputFile]
#Example:
<!--NeedCopy-->

Für Linux

./DownloadLogsByWords.sh authkey 2025-01-01T00:00:00.000Z 2025-12-31T23:59:59.999Z "session launch" logs.csv
<!--NeedCopy-->

Für Windows

DownloadLogsByWords.bat authkey 2025-01-01T00:00:00.000Z 2025-12-31T23:59:59.999Z "failed vda" logs.csv
<!--NeedCopy-->

Für Windows PowerShell, wenn LogServer mit “-e LOCAL_DOWN_ONLY=false” startet:

Invoke-WebRequest -Uri "https://logserver_fqdn:8443/ctxlogserver/Download/SearchLog?start=2025-01-01T00:00:00Z&end=2025-01-02T00:00:00Z&words=failed vda" -Headers @{ AuthKey = "ebac9b7726cb4be597c92c6769134d25" } -OutFile logs.csv
<!--NeedCopy-->

Wörter werden durch Leerzeichen getrennt

Anzeigen und Verwenden von AOT-Protokollen