Protokollsammlung
Übersicht über den Protokollierungsmechanismus
Die folgende Tabelle bietet eine Übersicht über den Protokollierungsmechanismus für den Linux VDA.
| Protokollierungsmodul | Protokolldateinamenformat | Beispiel für Protokolldateiname | Protokollierungsbereich | Maximale Einzeldateigröße | Rotationsschwellenwert (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.
- 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 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 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:

Jproxy-Protokollierung über /etc/xdl/log4j2.xml konfigurieren
Hinweis:
Wenn Sie nur 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 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 einschließlich Werten (Protokolldateipfad, Größenbeschränkung für einzelne Dateien und Rotationsschwellenwert) 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 Disabled, Inherited, Trace, Verbose, Information, Warnings, Errors und Fatal Errors), führen Sie den folgenden Befehl aus:
setlog level <class> [<level>]
<!--NeedCopy-->
| Protokollebene | Befehlsparameter (Groß-/Kleinschreibung wird nicht beachtet) |
|---|---|
| Deaktiviert | keine |
| Geerbt | inherit |
| Trace | trace |
| Ausführlich | verbose |
| Information | 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-->
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, 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, das zum Sammeln von Protokollen verwendet wird, 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.
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.