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-Log-Server-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 Log-Server Remote-Anfragen zur Protokollanzeige. Dies ermöglicht es Citrix Director/Monitor, sich mit dem Log-Server zu verbinden und AOT-Protokolle direkt in der Monitor-Benutzeroberfläche anzuzeigen.

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

AOT-Batchdatei

Schritt 2

Web Studio bietet eine spezielle Einstellung, die es Citrix Director ermöglicht, sich mit dem AOT-Log-Server 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 Log-Server-Details, einschließlich der Log-Server-Adresse, des Ports und des Authentifizierungsschlüssels. Der Director verwendet diese Einstellungen, um eine sichere Verbindung zum Log-Server herzustellen.

Schritt 3

Nach der Konfiguration:

  1. Öffnen Sie Citrix Director.
  2. Eine neue Option Logs wird im linken Navigationsbereich angezeigt.
  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 Log-Server abruft und anzeigt.

Citrix Director

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

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

  • Benutzernamen
  • Maschinennamen
  • Ereignisschlüsselwörter (z. B. Registrierung, Authentifizierung, STA)
  • Transaktions-IDs
  • Fehlermeldungen oder Teilzeichenfolgen

Zeitfilter: Verwenden Sie die Zeitauswahl (z. B. Letzte 5 Minuten, Letzte 1 Stunde, Letzte 24 Stunden), um Protokolle anzuzeigen, die innerhalb eines bestimmten Zeitraums generiert wurden. Dies hilft Ihnen, Ereignisse schnell zu isolieren, die ungefähr zu dem Zeitpunkt aufgetreten sind, zu dem ein Problem auftrat.

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. So können Sie sich bei der Fehlerbehebung nur auf Fehler oder wichtige Ereignisse konzentrieren. Gängige Klassen sind:

  • Information
  • Warnung
  • Fehler
  • Fehler

Hostname-Filter: Mit dem Hostname-Filter können Sie einen bestimmten Computer auswählen – z. B. einen VDA, Delivery Controller, CWA oder StoreFront-Server. 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: 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. AuthKey generieren

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

  1. AuthKey abrufen – Verwenden Sie Ihren eigenen Rollennamen/Namen, um ihn zu generieren.
  2. Lokal ausführen – Skripte können nur auf dem Computer ausgeführt werden, auf dem 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 bestimmte Rolle oder einen bestimmten 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 die verfügbaren 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) filtern (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 in 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