Red Hat Training
A Red Hat training course is available for RHEL 8
24.3.2. Inicializando a instrumentação cruzada do SystemTap
Inicializar a instrumentação cruzada do SystemTap para construir módulos de instrumentação SystemTap a partir de um script SystemTap em um sistema e usá-los em outro sistema que não tenha o SystemTap totalmente implantado.
Pré-requisitos
- O SystemTap está instalado no site host system como descrito em Instalando o SystemTap.
- Tanto o host system quanto o target system são a mesma arquitetura.
- Tanto o host system quanto o target system estão rodando a mesma versão principal do Red Hat Enterprise Linux (como o Red Hat Enterprise Linux 8), eles can estão rodando diferentes versões menores (como 8.1 e 8.2).
Os bugs de embalagem do kernel podem impedir que vários pacotes kernel-debuginfo
e kernel-devel
sejam instalados em um sistema. Nesses casos, a versão menor para os pacotes host system e target system deve coincidir. Caso isso ocorra, informe o bug em https://bugzilla.redhat.com/.
Procedimento
Determinar o kernel rodando em cada target system:
$ uname -r
Repita esta etapa para cada um target system.
Instale o pacote necessário para executar módulos pré-compilados em cada um target system:
# yum instalar systemtap-runtime
- No site host system, instale o target kernel e pacotes relacionados para cada target system pelo método descrito na instalação do SystemTap.
Construa um módulo de instrumentação no host system, copie para e execute no target system também:
Usando implementação remota:
# stap --remote target_system script
Este comando implementa remotamente o script especificado no site target system. Você deve garantir que uma conexão SSH possa ser feita ao target system a partir do host system para que isto seja bem sucedido.
Manualmente:
Construa o módulo de instrumentação no site host system:
# stap -r kernel_version script -m module_name -p 4
Aqui, kernel_version refere-se à versão do target kernel determinada no passo 1, script refere-se ao roteiro a ser convertido em instrumentation module, e module_name é o nome desejado do instrumentation module. A opção
-p4
diz ao SystemTap para não carregar e executar o módulo compilado.Uma vez compilado o instrumentation module, copie-o para o sistema de destino e carregue-o usando o seguinte comando:
# staprun module_name.ko
NotaA execução de um módulo pré-compilado requer apenas o pacote
systemtap-runtime
.