Red Hat Training

A Red Hat training course is available for RHEL 8

24.2.2. Instalando o SystemTap

Para começar a usar o SystemTap, instale os pacotes necessários. Para usar o SystemTap em mais de um kernel onde um sistema tem múltiplos kernels instalados, instale os pacotes de kernel necessários correspondentes para a versão each do kernel.

Pré-requisitos

Procedimento

  1. Instale os pacotes SystemTap necessários:

    # yum instalar systemtap
  2. Instalar os pacotes de kernel necessários:

    1. Usando stap-prep:

      # stap-prep-prep
    2. Se stap-prep não funcionar, instale os pacotes de kernel necessários manualmente:

      # yum install kernel-debuginfo-$(uname -r) kernel-debuginfo-common-$(uname -i)-$(uname -r) kernel-devel-$(uname -r)

      $(uname -i) é automaticamente substituído com a plataforma de hardware de seu sistema e $(uname -r) é automaticamente substituído com a versão de seu kernel em execução.

Etapas de verificação

  • Se o kernel a ser sondado com SystemTap estiver em uso atualmente, teste se sua instalação foi bem sucedida:

    # stap -v -e 'probe kernel.function(vfs_read') {printf({"read performed"); exit()}

    Uma implementação bem sucedida do SystemTap resulta em um resultado semelhante ao seguinte:

    Pass 1: parsed user script and 45 library script(s) in 340usr/0sys/358real ms.
    Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 0 global(s) in 290usr/260sys/568real ms.
    Pass 3: translated to C into "/tmp/stapiArgLX/stap_e5886fa50499994e6a87aacdc43cd392_399.c" in 490usr/430sys/938real ms.
    Pass 4: compiled C into "stap_e5886fa50499994e6a87aacdc43cd392_399.ko" in 3310usr/430sys/3714real ms.
    Pass 5: starting run. 1
    read performed 2
    Pass 5: run completed in 10usr/40sys/73real ms. 3

    As últimas três linhas de saída (começando com Pass 5) indicam que:

    1
    O SystemTap criou com sucesso a instrumentação para sondar o núcleo e executou a instrumentação.
    2
    SystemTap detectou o evento especificado (neste caso, uma leitura VFS).
    3
    SystemTap executou um manipulador válido (texto impresso e depois o fechou sem erros).