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 :
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 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 journal compressé est généré dans le même dossier que le script. Le script Bash xdlcollect peut vous demander s’il faut charger le fichier journal compressé sur Citrix Insight Services (CIS). Si vous acceptez, xdlcollect renvoie upload_ID une fois le téléchargement terminé. Le téléchargement ne supprime pas le fichier journal compressé de votre machine locale. Les autres utilisateurs peuvent utiliser upload_ID pour accéder au fichier journal dans CIS.
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.