Ablaufverfolgung aktivieren
Übersicht
Das Sammeln von Protokollen und das Reproduzieren von Problemen verlangsamen die Diagnose und beeinträchtigen die Benutzererfahrung. Die Funktion Tracing On erleichtert solche Bemühungen. Die Ablaufverfolgung ist für den Linux VDA standardmäßig aktiviert.
Konfiguration
Der Daemon ctxlogd und das Dienstprogramm setlog sind jetzt im Linux VDA-Releasepaket enthalten. Standardmäßig startet der Daemon ctxlogd, nachdem Sie den Linux VDA installiert und konfiguriert haben.
ctxlogd-Daemon
Alle anderen Dienste, die verfolgt werden, hängen vom Daemon ctxlogd ab. Sie können den Daemon ctxlogd beenden, wenn Sie die Ablaufverfolgung des Linux VDA nicht beibehalten möchten.
setlog-Dienstprogramm
Tracing On wird mit dem Dienstprogramm setlog konfiguriert, das sich unter dem Pfad /opt/Citrix/VDA/bin/ befindet. Nur der Root-Benutzer hat die Berechtigung, es auszuführen. Sie können die GUI verwenden oder Befehle ausführen, um die Konfigurationen anzuzeigen und zu ändern. Führen Sie den folgenden Befehl aus, um Hilfe zum Dienstprogramm setlog zu erhalten:
setlog help
<!--NeedCopy-->
Werte
Standardmäßig ist der Protokollausgabepfad auf /var/log/xdl/hdx.log eingestellt, die maximale Protokollgröße auf 200 MB, und Sie können bis zu zwei alte Protokolldateien unter dem Protokollausgabepfad speichern.
Zeigen Sie die aktuellen setlog-Werte an:
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-->
Zeigen Sie einen einzelnen setlog-Wert an oder legen Sie ihn fest:
setlog value <name> [<value>]
<!--NeedCopy-->
Zum Beispiel:
setlog value log_size 100
<!--NeedCopy-->
Ebenen
Standardmäßig sind die Protokollebenen auf warning (Groß-/Kleinschreibung wird nicht beachtet) eingestellt.
Um die für verschiedene Komponenten festgelegten Protokollebenen anzuzeigen, führen Sie den folgenden Befehl aus:
setlog levels
<!--NeedCopy-->
Um Protokollebenen festzulegen (einschließlich Disabled, Inherited, 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) |
|---|---|
| Disabled | none |
| Inherited | inherit |
| Verbose | verbose |
| Information | info |
| Warnings | warning |
| Errors | error |
| Fatal Errors | 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-->
Flags
Standardmäßig sind die Flags wie folgt eingestellt:
setlog flags
DATE = true
TIME = true
NAME = true
PID = true
TID = false
SID = true
UID = false
GID = false
CLASS = false
LEVEL = false
FUNC = true
FILE = false
<!--NeedCopy-->
Zeigen Sie die aktuellen Flags an:
setlog flags
<!--NeedCopy-->
Zeigen Sie ein einzelnes Protokoll-Flag an oder legen Sie es fest:
setlog flag <flag> [<state>]
<!--NeedCopy-->
Standardeinstellungen wiederherstellen
Setzen Sie alle Ebenen, Flags und Werte auf die Standardeinstellungen zurück:
setlog default
<!--NeedCopy-->
Wichtig:
Der Dienst
ctxlogdwird ü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, dass Root-Benutzer anderen Benutzern keine Schreibberechtigung erteilen. Die Nichteinhaltung kann zu einer willkürlichen oder bösartigen Konfiguration vonctxlogdführen, was die Serverleistung und damit die Benutzererfahrung beeinträchtigen kann.
Fehlerbehebung
Der Daemon ctxlogd schlägt fehl, und Sie können den Dienst ctxlogd nicht neu starten, wenn die Datei /var/xdl/.ctxlog fehlt (z. B. versehentlich gelöscht wurde).
/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 Dienst ctxlogd neu, von dem andere Dienste abhängen.