Red Hat Training

A Red Hat training course is available for RHEL 8

24.3.2. Inicialización de la instrumentación cruzada de SystemTap

Inicie la instrumentación cruzada de SystemTap para construir módulos de instrumentación de SystemTap desde un script de SystemTap en un sistema y utilizarlos en otro sistema que no tenga SystemTap completamente desplegado.

Requisitos previos

  • SystemTap se instala en host system como se describe en Instalación de SystemTap.
  • Tanto host system como target system tienen la misma arquitectura.
  • Tanto host system como target system están ejecutando la misma versión principal de Red Hat Enterprise Linux (como Red Hat Enterprise Linux 8), pero can están ejecutando diferentes versiones menores (como 8.1 y 8.2).
Atención

Los errores de empaquetado del kernel pueden impedir que se instalen varios paquetes kernel-debuginfo y kernel-devel en un mismo sistema. En estos casos, la versión menor de host system y target system debe coincidir. Si esto ocurre, informe del error en https://bugzilla.redhat.com/.

Procedimiento

  1. Determine el núcleo que se ejecuta en cada target system:

    $ uname -r

    Repita este paso para cada target system.

  2. Instale el paquete necesario para ejecutar los módulos precompilados en cada target system:

    # yum install systemtap-runtime
  3. En el host system, instale el target kernel y los paquetes relacionados para cada target system por el método descrito en la instalación de SystemTap.
  4. Construir un módulo de instrumentación en el host system, copiarlo y ejecutarlo en el target system tampoco:

    1. Utilizando la implementación remota:

      # stap --remote target_system script

      Este comando implementa remotamente el script especificado en el target system. Debe asegurarse de que se puede realizar una conexión SSH a la target system desde la host system para que esto tenga éxito.

    2. Manualmente:

      1. Construya el módulo de instrumentación en la página web host system:

        # stap -r kernel_version script -m module_name -p 4

        Aquí, kernel_version se refiere a la versión de target kernel determinada en el paso 1, script se refiere al script que se convertirá en un instrumentation module, y module_name es el nombre deseado del instrumentation module. La opción -p4 indica a SystemTap que no cargue ni ejecute el módulo compilado.

      2. Una vez compilado el instrumentation module, cópielo en el sistema de destino y cárguelo con el siguiente comando:

        # staprun module_name.ko
        Nota

        La ejecución de un módulo precompilado sólo requiere el paquete systemtap-runtime.