Linux Virtual Delivery Agent

Collecte de journaux

Présentation du mécanisme de journalisation

Le tableau suivant présente une vue d’ensemble du mécanisme de journalisation pour l’agent Linux VDA.

Module de journalisation Format du nom du fichier journal Exemple de nom de fichier journal Étendue de journalisation Taille maximale d’un seul fichier Seuil de rotation (par défaut) Configuration
HDX hdx.log[.n] hdx.log, hdx.log.1 Graphisme, ouverture de session, audio, clavier, souris 200 Mio 1 actuel, 2 anciens Configurable via l’utilitaire setlog
Jproxy jproxy.log[.n.log] jproxy.log, jproxy.log.1.log Enregistrement VDA, authentification des utilisateurs 20 Mio 1 actuel, 10 anciens Configurable via l’utilitaire setlog ou /etc/xdl/log4j2.xml
VDA vda.YYYY-MM-DD.hh.mm.ss.log vda.2024-05-06.20.18.40.log Enregistrement de VDA 10 Mio 1 actuel, 100 anciens Configurable via l’utilitaire setlog ou /etc/xdl/brokeragent.conf

Remarque :

  • Le nom du premier fichier journal ne comporte pas de numéro et les fichiers suivants sont numérotés avec « .n », où « n » représente le numéro de fichier. Par exemple, « hdx.log » est le premier fichier journal HDX et « hdx.log.1 » est le second.
  • La taille maximale d’un seul fichier journal est mesurée en mébioctets (Mio).
  • Un fichier journal qui est en cours de génération et qui n’a pas encore atteint la taille maximale d’un seul fichier est appelé fichier journal « actuel ». Lorsqu’un fichier journal « actuel » atteint la taille maximale d’un seul fichier, il est remplacé et devient un « ancien » fichier journal.
  • Le seuil de rotation est configurable pour limiter le nombre d’« anciens » fichiers journaux pouvant être conservés. Les fichiers journaux les plus anciens seront supprimés lorsque la limite sera atteinte.

Journalisation de la configuration

Cette section fournit des informations supplémentaires sur la configuration de la journalisation, en complément des informations décrites dans le tableau ci-dessus.

La journalisation est activée par défaut pour l’agent Linux VDA

Le démon ctxlogd et l’utilitaire setlog sont maintenant inclus dans le package du Linux VDA. Par défaut, le démon ctxlogd démarre après l’installation et la configuration du Linux VDA. Tous les autres services qui font l’objet d’un suivi dépendent du démon ctxlogd. Vous pouvez arrêter le démon ctxlogd si vous ne souhaitez pas que le Linux VDA fasse l’objet d’un suivi.

Configurer la journalisation du VDA via /etc/xdl/brokeragent.conf

Remarque :

Si vous souhaitez configurer uniquement les niveaux de journalisation pour le VDA sans entrer dans d’autres paramètres de journalisation tels que la taille maximale d’un seul fichier journal, vous pouvez exécuter l’utilitaire setlog décrit plus loin dans cet article. Sinon, utilisez /etc/xdl/brokeragent.conf.

Le fichier /etc/xdl/brokeragent.conf du VDA est disponible pour configurer la journalisation du VDA. Par exemple :

Le fichier /etc/xdl/brokeragent.conf

Remarque :

Par défaut, le nombre maximal d’« anciens » fichiers journaux VDA pouvant être conservés est de 100. Ajustez-le selon vos besoins.

Configurer la journalisation Jproxy via /etc/xdl/log4j2.xml

Remarque :

Si vous souhaitez configurer uniquement les niveaux de journalisation Jproxy sans entrer dans d’autres paramètres de journalisation tels que la taille maximale d’un seul fichier journal, vous pouvez exécuter l’utilitaire setlog décrit plus loin dans cet article. Sinon, utilisez /etc/xdl/log4j2.xml.

Voici un exemple de configuration de la journalisation Jproxy via /etc/xdl/log4j2.xml, dont le paramètre SizeBasedTriggeringPolicy spécifie la taille maximale d’un seul fichier journal Jproxy et le paramètre DefaultRollerStrategy définit le nombre total de fichiers journaux Jproxy qui peuvent être conservés.

Configurer la journalisation Jproxy

Configurer la journalisation HDX via l’utilitaire setlog

L’utilitaire setlog se trouve sous le chemin /opt/Citrix/VDA/bin/. Seul l’utilisateur racine est autorisé à l’exécuter. Vous pouvez utiliser l’interface graphique ou exécuter des commandes pour afficher et modifier vos options de configuration, notamment les valeurs (chemin du fichier journal, limite de taille de fichier unique et seuil de rotation) et les niveaux de journalisation. Pour obtenir de l’aide sur l’utilitaire setlog, exécutez la commande suivante :

setlog help
<!--NeedCopy-->

Valeurs

Par défaut, les journaux HDX sont enregistrés sous /var/log/xdl/hdx.log, la taille limite d’un seul fichier journal HDX est de 200 Mio et vous pouvez enregistrer jusqu’à deux « anciens » fichiers journaux HDX sous /var/log/xdl/hdx.log.

Pour afficher toutes les valeurs de setlog actuelles, exécutez la commande suivante :

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-->

Pour afficher ou définir une seule valeur de setlog, exécutez la commande suivante :

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

Par exemple :

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

Niveaux

Par défaut, les niveaux de journalisation sont définis sur Information (non sensibles à la casse).

Lorsque vous rencontrez un problème nécessitant un dépannage, nous vous recommandons de définir le niveau de journalisation sur détaillé dans la plupart des scénarios. Ensuite, reproduisez le problème et collectez les journaux.

Pour définir les niveaux de journalisation (tels que Désactivé, Hérité, Trace, Détaillé, Information, Avertissements, Erreurs et Erreurs fatales), exécutez la commande suivante :

setlog level <class> [<level>]
<!--NeedCopy-->
Niveau du journal Paramètre de commande (non sensible à la casse)
Désactivé none
Inherited inherit
Trace trace
Détaillé détaillé
Information info
Warnings warning
Errors error
Fatal Errors fatal

La variable <class> spécifie un composant de l’agent Linux VDA. Pour couvrir tous les composants, définissez-la sur « tous ». Par exemple :

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

Pour afficher toutes les classes ou tous les composants pris en charge, exécutez la commande suivante :

setlog levels
<!--NeedCopy-->

Restaurer paramètres par défaut

Rétablir les paramètres par défaut de tous les niveaux et de toutes les valeurs :

setlog default
<!--NeedCopy-->

Important :

Le service ctxlogd est configuré à l’aide du fichier /var/xdl/.ctxlog, que seuls les utilisateurs root peuvent créer. Les autres utilisateurs ne disposent pas d’un accès en écriture à ce fichier. Nous recommandons aux utilisateurs root de ne pas accorder l’accès en écriture à d’autres utilisateurs. Si cette consigne n’est pas respectée, ctxlogd peut être configuré de manière arbitraire ou malveillante, ce qui peut affecter les performances des serveurs et par conséquent l’expérience utilisateur.

Collecte de journaux

Vous pouvez exécuter la commande bash /opt/Citrix/VDA/bin/xdlcollect.sh pour collecter les journaux. Le script Bash xdlcollect utilisé pour collecter les journaux est intégré dans le logiciel Linux VDA et se trouve dans /opt/Citrix/VDA/bin.

Une fois la collecte des journaux terminée, un fichier ZIP est généré sous /tmp/xdlcollect sur le VDA.

Dépannage

Le démon ctxlogd échoue et vous ne pouvez pas redémarrer le service ctxlogd lorsque le fichier /var/xdl/.ctxlog est manquant (s’il a été supprimé accidentellement par exemple).

/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-->

Pour résoudre ce problème, exécutez setlog en tant qu’utilisateur root pour créer le fichier /var/xdl/.ctxlog. Redémarrez le service ctxlogd dont dépendent d’autres services.