Aktive Ablaufverfolgung
Übersicht
Das Erfassen von Protokollen und Reproduzieren von Problemen verlangsamen die Diagnose und beeinträchtigen die Benutzerfreundlichkeit. Die Ablaufverfolgung erleichtert solche Aufgaben. Die Ablaufverfolgung ist für den Linux VDA standardmäßig aktiviert.
Konfiguration
Der ctxlogd
-Daemon und das setlog
-Dienstprogramm sind nun im Linux VDA-Releasepaket enthalten. Standardmäßig wird der ctxlogd
-Daemon nach der Installation und Konfiguration des Linux VDA gestartet.
ctxlogd-Daemon
Alle anderen Dienste, deren Ablauf verfolgt wird, hängen vom ctxlogd
-Daemon ab. Sie können den ctxlogd
-Daemon anhalten, wenn Sie den Ablauf des Linux VDA nicht verfolgen möchten.
setlog-Dienstprogramm
Das Feature für die aktive Ablaufverfolgung wird mit dem setlog
-Dienstprogramm konfiguriert. Es befindet sich unter folgendem Pfad: /opt/Citrix/VDA/bin/. Nur Root-Benutzer können es ausführen. Verwenden Sie zum Anzeigen und Ändern von Konfigurationen die grafische Benutzeroberfläche oder Befehle. Führen Sie den folgenden Befehl aus, um Hilfe zum setlog
-Dienstprogramm aufzurufen:
setlog help
<!--NeedCopy-->
Werte
Standardmäßig ist Log Output Path auf /var/log/xdl/hdx.log und Max Log Size auf 200 MB festgelegt. Sie können zwei alte Protokolldateien unter Log Output Path speichern.
Anzeigen der aktuellen setlog
-Werte:
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-->
Anzeigen oder Festlegen eines einzelnen setlog
-Werts:
setlog value <name> [<value>]
<!--NeedCopy-->
Beispiel:
setlog value log_size 100
<!--NeedCopy-->
Ebenen
Standardmäßig sind Protokollebenen auf warning festgelegt (Groß-/Kleinschreibung wird nicht beachtet).
Führen Sie den folgenden Befehl aus, um Protokollebenen für verschiedene Komponenten anzuzeigen:
setlog levels
<!--NeedCopy-->
Sie können die Protokollebenen (einschließlich Disabled, Inherited, Verbose, Information, Warnings, Errors und Fatal Errors) mit dem folgenden Befehl festlegen:
setlog level <class> [<level>]
<!--NeedCopy-->
Protokollebene | Befehlsparameter (Groß-/Kleinschreibung unerheblich) |
---|---|
Disabled | none |
Inherited | inherit |
Verbose | verbose |
Information | info |
Warnings | warning |
Fehler | error |
Fatal Errors | fatal |
Mit der Variable <class>
wird eine Komponente des Linux VDA angegeben. Um alle Komponenten einzubeziehen, legen Sie “all” fest: Beispiel:
setlog level all error
<!--NeedCopy-->
Flags
Flags werden wie folgt festgelegt:
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-->
Anzeigen der aktuellen Flags:
setlog flags
<!--NeedCopy-->
Anzeigen oder Festlegen eines einzelnen Protokoll-Flags:
setlog flag <flag> [<state>]
<!--NeedCopy-->
Wiederherstellen der Standardeinstellungen
Wiederherstellen der Standardeinstellungen für alle Ebenen, Flags und Werte:
setlog default
<!--NeedCopy-->
Wichtig:
Der
ctxlogd
-Dienst wird mit der Datei /var/xdl/.ctxlog konfiguriert, die nur von Root-Benutzern erstellt werden kann. Andere Benutzer haben keine Schreibrechte für diese Datei. Wir empfehlen Root-Benutzern, anderen Benutzern keine Schreibrechte zu geben. Die versehentliche oder mutwillige Fehlkonfiguration vonctxlogd
kann sich negativ auf die Serverleistung und die Benutzererfahrung auswirken.
Problembehandlung
Wenn die Datei /var/xdl/.ctxlog nicht vorhanden ist (z. B. versehentlich gelöscht wurde), schlägt der ctxlogd
-Daemon fehl und Sie können den ctxlogd
-Dienst nicht neu starten.
/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-->
Sie lösen das Problem, indem Sie setlog
als Root-Benutzer ausführen, um die Datei /var/xdl/.ctxlog neu zu erstellen. Starten Sie dann den ctxlogd
-Dienst neu, da andere Dienste von ihm abhängen.