41.2. Initialisation de l'instrumentation croisée de SystemTap
Initialiser l'instrumentation croisée de SystemTap pour construire des modules d'instrumentation SystemTap à partir d'un script SystemTap sur un système et les utiliser sur un autre système qui n'a pas SystemTap entièrement déployé.
Conditions préalables
- SystemTap est installé sur le site host system comme décrit dans la section Installation de Systemtap.
Le paquet
systemtap-runtime
est installé sur chaque site target system:# dnf install systemtap-runtime
- Les sites host system et target system ont tous deux la même architecture.
- Les sites host system et target system utilisent tous deux la même version majeure de Red Hat Enterprise Linux (telle que Red Hat Enterprise Linux 9).
Des bogues d'empaquetage du noyau peuvent empêcher l'installation de plusieurs paquets kernel-debuginfo
et kernel-devel
sur un même système. Dans ce cas, la version mineure des paquets host system et target system doit correspondre. Si un bogue survient, signalez-le à https://bugzilla.redhat.com/.
Procédure
Déterminez le noyau qui tourne sur chaque site target system:
$ uname -r
Répétez cette étape pour chaque target system.
- Sur le site host system, installez les paquets target kernel et les paquets associés pour chaque target system en suivant la méthode décrite dans la section Installation de Systemtap.
Construire un module d'instrumentation sur le site host system, copier ce module sur le site target system et le faire fonctionner sur ce dernier :
Utilisation de la mise en œuvre à distance :
# stap --remote target_system script
Cette commande met en œuvre à distance le script spécifié sur le site target system. Vous devez vous assurer qu'une connexion SSH peut être établie vers le site target system à partir du site host system pour que cette opération soit couronnée de succès.
Manuellement :
Construisez le module d'instrumentation sur le site host system:
# stap -r kernel_version script -m module_name -p 4
Ici, kernel_version fait référence à la version de target kernel déterminée à l'étape 1, script fait référence au script à convertir en instrumentation module, et module_name est le nom souhaité pour le instrumentation module. L'option
-p4
indique à SystemTap de ne pas charger et exécuter le module compilé.Une fois que le site instrumentation module est compilé, copiez-le sur le système cible et chargez-le à l'aide de la commande suivante :
# staprun module_name.ko