Red Hat Training

A Red Hat training course is available for RHEL 8

24.3. Instrumentación cruzada de SystemTap

24.3.1. Instrumentación cruzada SystemTap

Cuando se ejecuta un script de SystemTap, se construye un módulo del kernel a partir de ese script. A continuación, SystemTap carga el módulo en el kernel.

Normalmente, los scripts de SystemTap sólo pueden ejecutarse en los sistemas en los que se ha desplegado SystemTap. Para ejecutar SystemTap en diez sistemas, es necesario desplegar SystemTap en todos esos sistemas. En algunos casos, esto puede no ser factible ni deseado. Por ejemplo, la política de la empresa puede prohibir la instalación de paquetes que proporcionen compiladores o información de depuración en máquinas específicas, lo que impedirá el despliegue de SystemTap.

Para evitarlo, utilice cross-instrumentation. La instrumentación cruzada es el proceso de generar módulos de instrumentación de SystemTap a partir de un script de SystemTap en un sistema para ser utilizado en otro sistema. Este proceso ofrece las siguientes ventajas:

  • Los paquetes de información del kernel para varias máquinas pueden instalarse en una sola máquina anfitriona.
Atención

Los errores de empaquetado del kernel pueden impedirlo. En estos casos, los paquetes kernel-debuginfo y kernel-devel para los host system y target system deben coincidir. Si esto ocurre, informe del error en https://bugzilla.redhat.com/.

  • Cada target machine sólo necesita instalar un paquete para utilizar el módulo de instrumentación SystemTap generado: systemtap-runtime.
Importante

El host system debe tener la misma arquitectura y ejecutar la misma distribución de Linux que el target system para que el instrumentation module construido funcione.

Terminología
instrumentation module
El módulo del núcleo construido a partir de un script de SystemTap; el módulo de SystemTap se construye en el host system, y se cargará en el target kernel del target system.
host system
El sistema en el que se compilan los módulos de instrumentación (a partir de los scripts de SystemTap), que se cargarán en target systems.
target system
El sistema en el que se está construyendo el instrumentation module (desde los scripts de SystemTap).
target kernel
El núcleo del target system. Este es el núcleo que carga y ejecuta el instrumentation module.