Linux Virtual Delivery Agent

Protokollsammlung

Übersicht über den Protokollierungsmechanismus

Die folgende Tabelle bietet eine Übersicht über den Protokollierungsmechanismus für den Linux VDA.

Protokollierungsmodul Format des Protokolldateinamens Beispiel für Protokolldateinamen Protokollierungsbereich Maximale Einzeldateigröße Rotationsschwelle (Standardwerte) Konfiguration
HDX hdx.log[.n] hdx.log, hdx.log.1 Grafik, Anmeldung, Audio, Tastatur, Maus 200 MiB 1 aktuell, 2 alt Konfigurierbar über das setlog-Dienstprogramm
Jproxy jproxy.log[.n.log] jproxy.log, jproxy.log.1.log VDA-Registrierung, Benutzerauthentifizierung 20 MiB 1 aktuell, 10 alt Konfigurierbar über das setlog-Dienstprogramm oder /etc/xdl/log4j2.xml
VDA vda.JJJJ-MM-TT.hh.mm.ss.log vda.2024-05-06.20.18.40.log VDA-Registrierung 50 MiB 1 aktuell, 1 alt Konfigurierbar über das setlog-Dienstprogramm oder /etc/xdl/brokeragent.conf

Hinweis:

  • Die erste Protokolldatei hat keine Nummer im Namen, und nachfolgende Dateien werden mit „.n“ nummeriert, wobei „n“ die Dateinummer darstellt. Zum Beispiel ist „hdx.log“ die erste HDX-Protokolldatei und „hdx.log.1“ die zweite.
  • Die maximale Größe für eine einzelne Protokolldatei wird in Mebibyte (MiB) gemessen.
  • Eine Protokolldatei, die gerade generiert wird und die maximale Größe für eine einzelne Datei noch nicht erreicht hat, wird als „aktuelle“ Protokolldatei bezeichnet. Wenn eine „aktuelle“ Protokolldatei die maximale Größe für eine einzelne Datei erreicht, wird sie rotiert und wird zu einer „alten“ Protokolldatei.
  • Die Rotationsschwelle ist konfigurierbar, um die Anzahl der „alten“ Protokolldateien zu begrenzen, die beibehalten werden können. Die ältesten Protokolldateien werden gelöscht, wenn das Limit erreicht ist.

Protokollierungskonfiguration

Dieser Abschnitt enthält zusätzliche Informationen zur Protokollierungskonfiguration, die die in der obigen Tabelle aufgeführten Details ergänzen.

Protokollierung standardmäßig für den Linux VDA aktiviert

Der ctxlogd-Daemon und das setlog-Dienstprogramm sind im Linux VDA-Releasepaket enthalten. Standardmäßig startet der ctxlogd-Daemon, nachdem Sie den Linux VDA installiert und konfiguriert haben. Alle anderen Dienste, die verfolgt werden, hängen vom ctxlogd-Daemon ab. Sie können den ctxlogd-Daemon stoppen, wenn Sie den Linux VDA nicht verfolgen möchten.

VDA-Protokollierung über /etc/xdl/brokeragent.conf konfigurieren

Hinweis:

Wenn Sie nur die Protokollebenen für die VDA-Protokollierung konfigurieren möchten, ohne sich mit anderen Protokollierungsparametern wie der maximalen Größe für eine einzelne Protokolldatei zu befassen, können Sie das später in diesem Artikel beschriebene setlog-Dienstprogramm verwenden. Andernfalls verwenden Sie /etc/xdl/brokeragent.conf.

Die Datei /etc/xdl/brokeragent.conf auf dem VDA ist für die Konfiguration der VDA-Protokollierung verfügbar. Zum Beispiel:

Die Datei /etc/xdl/brokeragent.conf

Jproxy-Protokollierung über /etc/xdl/log4j2.xml konfigurieren

Hinweis:

Wenn Sie nur die Protokollebenen für die Jproxy-Protokollierung konfigurieren möchten, ohne sich mit anderen Protokollierungsparametern wie der maximalen Größe für eine einzelne Protokolldatei zu befassen, können Sie das später in diesem Artikel beschriebene setlog-Dienstprogramm verwenden. Andernfalls verwenden Sie /etc/xdl/log4j2.xml.

Das Folgende ist ein Beispiel für die Konfiguration der Jproxy-Protokollierung über /etc/xdl/log4j2.xml, wobei der Parameter SizeBasedTriggeringPolicy die maximale Größe für eine einzelne Jproxy-Protokolldatei und der Parameter DefaultRollerStrategy die Gesamtzahl der Jproxy-Protokolldateien festlegt, die beibehalten werden können.

Jproxy-Protokollierung konfigurieren

HDX™-Protokollierung über das setlog-Dienstprogramm konfigurieren

Das setlog-Dienstprogramm befindet sich unter dem Pfad /opt/Citrix/VDA/bin/. Nur der Root-Benutzer hat die Berechtigung, es auszuführen. Sie können die GUI verwenden oder Befehle ausführen, um Ihre Konfigurationsoptionen einschließlich Werten (Protokolldateipfad, Größenbeschränkung für einzelne Dateien und Rotationsschwelle) und Protokollebenen anzuzeigen und zu ändern. Führen Sie den folgenden Befehl aus, um Hilfe zum setlog-Dienstprogramm zu erhalten:

setlog help
<!--NeedCopy-->

Werte

Standardmäßig werden HDX-Protokolle unter /**var/log/xdl/hdx.log** gespeichert, die Größenbeschränkung für eine einzelne HDX-Protokolldatei beträgt 200 MiB, und Sie können bis zu zwei „alte“ HDX-Protokolldateien unter **/var/log/xdl/hdx.log** speichern.

Um alle aktuellen setlog-Werte anzuzeigen, führen Sie den folgenden Befehl aus:

setlog values

log_path (Log Output Path) = /var/log/xdl/hdx.log

log_size (Max Log Size (MiB)) = 200

log_count (Max Old Log Files) = 2
<!--NeedCopy-->

Um einen einzelnen setlog-Wert anzuzeigen oder festzulegen, führen Sie den folgenden Befehl aus:

setlog value <name> [<value>]
<!--NeedCopy-->

Zum Beispiel:

setlog value log_size 100
<!--NeedCopy-->

Ebenen

Standardmäßig sind die Protokollebenen auf info (Groß-/Kleinschreibung wird nicht beachtet) eingestellt.

Wenn Sie auf ein Problem stoßen, das eine Fehlerbehebung erfordert, empfehlen wir Ihnen, die Protokollebene in den meisten Szenarien auf verbose einzustellen. Reproduzieren Sie anschließend das Problem und sammeln Sie Protokolle.

Um Protokollebenen festzulegen (einschließlich Deaktiviert, Geerbt, Ablaufverfolgung, Ausführlich, Informationen, Warnungen, Fehler und Schwerwiegende Fehler), führen Sie den folgenden Befehl aus:

-  setlog level <class> [<level>]
<!--NeedCopy-->
Protokollebene Befehlsparameter (Groß-/Kleinschreibung wird nicht beachtet)
Deaktiviert none
Geerbt inherit
Ablaufverfolgung trace
Ausführlich verbose
Informationen info
Warnungen warning
Fehler error
Schwerwiegende Fehler fatal

Die Variable <class> gibt eine Komponente des Linux VDA an. Um alle Komponenten abzudecken, setzen Sie sie auf all. Zum Beispiel:

setlog level all error
<!--NeedCopy-->

Um alle unterstützten Klassen oder Komponenten anzuzeigen, führen Sie den folgenden Befehl aus:

setlog levels
<!--NeedCopy-->

Standardwerte wiederherstellen

Setzen Sie alle Ebenen und Werte auf die Standardeinstellungen zurück:

setlog default
<!--NeedCopy-->

Wichtig:

Der Dienst ctxlogd wird über die Datei **/var/xdl/.ctxlog** konfiguriert, die nur Root-Benutzer erstellen können. Andere Benutzer haben keine Schreibberechtigung für diese Datei. Wir empfehlen Root-Benutzern, anderen Benutzern keine Schreibberechtigung zu erteilen. Die Nichteinhaltung kann zu einer willkürlichen oder bösartigen Konfiguration von ctxlogd führen, die die Serverleistung und damit die Benutzererfahrung beeinträchtigen kann.

Protokollsammlung

Sie können den Befehl **bash /opt/Citrix/VDA/bin/xdlcollect.sh** ausführen, um Protokolle zu sammeln. Das **xdlcollect**-Bash-Skript zum Sammeln von Protokollen ist in die Linux VDA-Software integriert und befindet sich unter **/opt/Citrix/VDA/bin**.

Nach Abschluss der Protokollsammlung wird eine ZIP-Datei unter **/tmp/xdlcollect** auf dem VDA generiert.

AOT-Protokollsammlung und -Upload

Übersicht

Diese Funktion sammelt Always-On Tracing (AOT)-Protokolle von Komponenten auf dem Virtual Delivery Agent (VDA). Sie unterstützt:

  • Fehlerbehebung bei schwer reproduzierbaren Problemen
  • Tägliche Systemprüfungen
  • Zentralisierte Protokollverwaltung

Die Protokolle werden in strukturierte Ereignisse umgewandelt und zur Abfrage und Analyse auf einen zentralen Protokollserver hochgeladen.

Konfiguration

Gruppenrichtlinienkonfiguration

Um diese Funktion über die Gruppenrichtlinie zu aktivieren, stellen Sie sicher, dass der Protokollserver auf dem Delivery Controller (DDC) ordnungsgemäß konfiguriert ist. Die Schritte sind wie folgt:

  1. Klicken Sie in Citrix Studio auf Einstellungen->Protokollserver->Bearbeiten

AOT-Protokollserver

  1. Legen Sie die Adresse und den Port des Protokollservers fest, um die Protokollweiterleitung an den Protokollserver zu aktivieren

AOT-Protokollkonfiguration

Lokale Registrierungskonfiguration

Lokale Registrierungen haben eine höhere Priorität als Richtlinien. Um diese Funktion über die lokale Registrierung zu aktivieren, führen Sie die folgenden Befehle auf dem VDA aus (ersetzen Sie <ip> und <port> durch Ihre Werte):

AOT-Datenerfassung aktivieren:

Endpunkt des Protokollservers festlegen:

sudo /opt/Citrix/VDA/bin/ctxreg create \ 
  -k "HKLM\System\CurrentControlSet\Control\Citrix\AOT" \ 
  -t "REG_DWORD" \ 
  -v "EnableAotDataCollection" \ 
  -d "0x00000001" --force 

sudo /opt/Citrix/VDA/bin/ctxreg create \ 
  -k "HKLM\System\CurrentControlSet\Control\Citrix\AOT" \ 
  -t "REG_SZ" \ 
  -v "AotDataStoreEndpoint" \ 
  -d "<http/https>://<fqdn-or-ip-address>:<port>" --force
<!--NeedCopy-->

Sobald die von Studio übertragenen Richtlinieneinstellungen oder die lokalen Registrierungseinstellungen geändert werden, wendet der ctxvector-Dienst die Änderung automatisch in weniger als 1 Minute an. Ein manueller Neustart ist nicht erforderlich.

TLS-Authentifizierung

Diese Funktion unterstützt HTTP- und HTTPS-Verbindungen zum Protokollserver. Für HTTPS installieren Sie die Root-CA-Zertifikate im Linux-System-Keystore. Der VDA kann eine HTTPS-Verbindung erst erfolgreich herstellen, nachdem er das Protokollserver-Zertifikat authentifiziert hat. Der Protokollserver authentifiziert den VDA nicht.

Fehlerbehebung

Der ctxlogd-Daemon schlägt fehl, und Sie können den ctxlogd-Dienst nicht neu starten, wenn die Datei /var/xdl/.ctxlog fehlt (z. B. versehentlich gelöscht).

/var/log/messages:

Apr 1 02:28:21 RH72 citrix-ctxlogd[17881]: Failed to open logging configuration file.

Apr 1 02:28:21 RH72 systemd: ctxlogd.service: main process exited, code=exited, status=1/FAILURE

Apr 1 02:28:21 RH72 systemd: Unit ctxlogd.service entered failed state.

Apr 1 02:28:21 RH72 systemd: ctxlogd.service failed.
<!--NeedCopy-->

Um dieses Problem zu beheben, führen Sie setlog als Root-Benutzer aus, um die Datei /var/xdl/.ctxlog neu zu erstellen. Starten Sie anschließend den ctxlogd-Dienst neu, von dem andere Dienste abhängen.