É possível monitorar todo o acesso de gravação ao sistema de arquivos de todo o processo [fechado]

1

É possível monitorar todo o acesso de gravação ao sistema de arquivos de todo o processo no linux?

Eu tenho alguns sistemas de arquivos montados diferentes. Muitos deles são tempfs .

Estou interessado em todas as gravações no sistema de arquivos raiz, exceto o tempfs, devtmpfs etc.

Estou procurando algo que gerará: <PID xy> write n Bytes to /targe/filepath ... . Qual ferramenta de monitoramento pode listar todos esses syscalls de gravação? Eles podem ser filtrados por pontos de montagem?

    
por powerpete 20.06.2018 / 13:17

1 resposta

3

Existem várias ferramentas que você pode usar em vários cenários, dependendo das informações exatas que você está procurando. Brendan Gregg tem um bom resumo:

ParaE/Sdedispositivosespecíficos,blktrace pode ser apropriado , embora possa ser difícil mapear sua saída para arquivos específicos.

Uma ferramenta melhor para o seu caso pode ser SystemTap ; Vale a pena dedicar um tempo para aprender a usá-lo. Você teria que rastrear todas as aberturas e gravações de arquivos e depois processar a saída. Isso ainda perderá a E / S dos arquivos mapeados pela memória; você poderá ver isso com blktrace , mas isso seria pós-pagéché, por isso não seria possível ler todas as explicações explícitas (há uma discussão sobre isso em algum lugar deste site, mas não consigo encontrá-lo agora). Veja esta resposta para um exemplo que envolve o SystemTap (para rastrear arquivos abertos).

    
por 20.06.2018 / 14:08