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 Protokolldateiname | 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 | 10 MiB | 1 aktuell, 100 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 umgewälzt und wird zu einer „alten“ Protokolldatei.
- Der Rotationsschwellenwert 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 beschriebenen 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 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:

Hinweis:
Standardmäßig beträgt die maximale Anzahl der „alten“ VDA-Protokolldateien, die beibehalten werden können, 100. Passen Sie diese bei Bedarf an.
Jproxy-Protokollierung über /etc/xdl/log4j2.xml konfigurieren
Hinweis:
Wenn Sie nur die Protokollierungsstufen für die Jproxy-Protokollierung konfigurieren möchten, ohne sich mit anderen Protokollierungsparametern wie der maximalen Größe einer einzelnen Protokolldatei zu befassen, können Sie das setlog-Dienstprogramm verwenden, das später in diesem Artikel beschrieben wird. Andernfalls verwenden Sie /etc/xdl/log4j2.xml.
Im Folgenden finden Sie 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 angibt und der Parameter DefaultRollerStrategy die Gesamtzahl der Jproxy-Protokolldateien festlegt, die beibehalten werden können.

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 anzuzeigen und zu ändern, einschließlich Werte (Protokolldateipfad, Größenbeschränkung für einzelne Dateien und Rotationsschwelle) und Protokollierungsstufen. 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-->
Beispiel:
setlog value log_size 100
<!--NeedCopy-->
Stufen
Standardmäßig sind die Protokollstufen auf info (Groß-/Kleinschreibung wird nicht beachtet) eingestellt.
Wenn Sie auf ein Problem stoßen, das eine Fehlerbehebung erfordert, empfehlen wir Ihnen, die Protokollstufe in den meisten Szenarien auf verbose einzustellen. Reproduzieren Sie anschließend das Problem und sammeln Sie die Protokolle.
Um die Protokollstufen (einschließlich Deaktiviert, Geerbt, Ablaufverfolgung, Ausführlich, Informationen, Warnungen, Fehler und Schwerwiegende Fehler) festzulegen, führen Sie den folgenden Befehl aus:
setlog level <class> [<level>]
<!--NeedCopy-->
| Protokollstufe | Befehlsparameter (Groß-/Kleinschreibung wird nicht beachtet) |
|---|---|
| Deaktiviert | Keine |
| Geerbt | Vererben |
| Ablaufverfolgung | Trace |
| Ausführlich | Ausführlich |
| Informationen | Info |
| Warnungen | Warnung |
| Fehler | Fehler |
| Schwerwiegende Fehler | schwerwiegend |
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-->
Standardeinstellungen 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, was 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 Bash-Skript xdlcollect zum Sammeln von Protokollen ist in die Linux VDA-Software integriert und befindet sich unter /opt/Citrix/VDA/bin.
Nach Abschluss der Protokollsammlung wird auf dem VDA eine ZIP-Datei unter /tmp/xdlcollect generiert.
AOT-Protokollsammlung und -Upload
Übersicht
Diese Funktion erfasst Always-On Tracing (AOT)-Protokolle von Komponenten auf dem Virtual Delivery Agent (VDA). Sie unterstützt:
- Fehlerbehebung bei schwer reproduzierbaren Problemen
- Tägliche Integritätsprüfungen
- Zentralisierte Protokollverwaltung
Die Protokolle werden in strukturierte Ereignisse umgewandelt und auf einen zentralen Log Server zum Abfragen und zur Analyse hochgeladen.
Konfiguration
Gruppenrichtlinienkonfiguration
Um diese Funktion über die Gruppenrichtlinie zu aktivieren, stellen Sie sicher, dass der Log Server auf dem Delivery Controller (DDC) ordnungsgemäß konfiguriert ist. Die Schritte sind wie folgt:
- Klicken Sie in Citrix Studio auf Einstellungen->Logserver->Bearbeiten

- Legen Sie die Logserver-Adresse und den Port fest, um die Protokollweiterleitung an den Logserver zu aktivieren

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 eigenen Werte):
AOT-Datenerfassung aktivieren:
Log-Server-Endpunkt 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 vom 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 Log-Server. Für HTTPS installieren Sie die Stamm-CA-Zertifikate im Linux-System-Keystore. Der VDA kann eine HTTPS-Verbindung nur erfolgreich herstellen, nachdem das Log-Server-Zertifikat authentifiziert wurde. Der Log-Server 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 dann den ctxlogd-Dienst neu, von dem andere Dienste abhängen.