Dependendo das suas necessidades exatas, talvez você queira investigar inotify e / ou FAM / soluções do GAMIN .
Gostaria de ver o que está acontecendo nas pastas do meu servidor de aplicativos, ou seja, quais arquivos são alterados pelo processo x ou quais *.war
arquivos foram alterados (substituídos / criados) nos últimos x minutos.
Existe uma ferramenta no Linux para ajudar nisso?
Dependendo das suas necessidades exatas, talvez você queira investigar inotify e / ou FAM / soluções do GAMIN .
Strace (como descrito acima) é uma maneira de verificar as ações de um software em execução especificado.
Algum comando como watch find dir/ -mmin 1
também pode ajudar a verificar as alterações do último minuto em algum diretório.
Dependendo do que exatamente você está procurando, inotify-tools é provavelmente outra ferramenta de comércio aqui.
Por exemplo, inotifywait -mr dir/
monitora as alterações no diretório fornecido e fornece instantaneamente o feedback de qualquer aplicativo que tente abrir / ler / gravar / fechar um arquivo. No entanto, inotify não lhe dá feedback sobre qual aplicativo ou processo está acessando o arquivo - isso é algo que a Strace faz.
Por favor, saiba que o monitoramento em nível de sistema é geralmente de uso limitado para o software java em execução em algum ambiente de contêiner de aplicativos, pois você vê apenas o contêiner (por exemplo, Tomcat), mas não o aplicativo real (por exemplo .war) interagindo com o sistema.
Você pode obter informações sobre quais arquivos acessados por processo pelo lsof :
lsof -n -p 'pidof your_app'
E vice-versa, você pode obter pid de processo que escreve / lê em algum arquivo:
lsof -n -t file
Você pode usar strace
para monitorar todas as chamadas do sistema de um processo, o que inclui todo o acesso a arquivos.
Ao iniciar um programa:
$ strace ./myserver
você também pode anexar strace a um processo em execução por meio do PID:
$ ps aux | grep myserver
me 1859 0.0 0.0 25288 424 ? Ss Sep02 0:00 myserver
$ strace -p 1859
watch find dir/ -mmin 1
não funcionou para mim, o que foi simplesmente copiar e diferenciar:
cp -r dir /tmp/olddir
# initialize/whatever
diff -r dir /tmp/olddir
É bastante intensivo em recursos, mas mostra todas as alterações entre o instantâneo e diff
time.
Tags process monitoring files shell