Red Hat Training

A Red Hat training course is available for RHEL 8

24.3. Cross-instrumentação do SystemTap

24.3.1. SystemTap de instrumentação cruzada

Quando você executa um script SystemTap, um módulo do kernel é construído a partir desse script. O SystemTap então carrega o módulo para o kernel.

Normalmente, os scripts do SystemTap só podem ser executados em sistemas onde o SystemTap é implantado. Para executar o SystemTap em dez sistemas, o SystemTap precisa ser implantado em todos esses sistemas. Em alguns casos, isto pode não ser viável nem desejado. Por exemplo, a política corporativa pode proibir a instalação de pacotes que forneçam compiladores ou informações de depuração em máquinas específicas, o que impedirá a implantação do SystemTap.

Para contornar este problema, use cross-instrumentation. A instrumentação cruzada é o processo de geração de módulos de instrumentação SystemTap a partir de um script SystemTap em um sistema para ser usado em outro sistema. Este processo oferece os seguintes benefícios:

  • Os pacotes de informação do núcleo para várias máquinas podem ser instalados em uma única máquina host.
Cuidado

Os bugs de embalagem do grão podem impedir isso. Nesses casos, os pacotes kernel-debuginfo e kernel-devel para os pacotes host system e target system devem corresponder. Caso isso ocorra, informe o erro em https://bugzilla.redhat.com/.

  • Cada target machine necessita apenas de um pacote a ser instalado para utilizar o módulo de instrumentação SystemTap gerado: systemtap-runtime.
Importante

O host system deve ser a mesma arquitetura e rodar a mesma distribuição de Linux que o target system, para que o instrumentation module construído funcione.

Terminologia
instrumentation module
O módulo do kernel construído a partir de um script SystemTap; o módulo SystemTap é construído no host system, e será carregado no target kernel do site target system.
host system
O sistema no qual os módulos de instrumentação (dos scripts SystemTap) são compilados, para serem carregados em target systems.
target system
O sistema no qual o instrumentation module está sendo construído (a partir dos scripts do SystemTap).
target kernel
O núcleo do target system. Este é o kernel que carrega e executa o instrumentation module.