Chciałbym zobaczyć, co dzieje się w folderach mojego serwera aplikacji, tj. Które pliki zostały zmienione przez proces x lub które *.war
pliki zostały zmienione (zastąpione / utworzone) w ciągu ostatnich x minut.
Czy w systemie Linux jest na to narzędzie?
shell
files
process
monitoring
Martin V.
źródło
źródło
Odpowiedzi:
W zależności od konkretnych potrzeb możesz przyjrzeć się rozwiązaniom inotify i / lub FAM / GAMIN .
źródło
Strace (jak opisano powyżej) to jeden ze sposobów sprawdzenia działania określonego działającego oprogramowania.
Niektóre polecenia, takie jak,
watch find dir/ -mmin 1
mogą również pomóc w sprawdzeniu zmian z ostatniej minuty w jakimś katalogu.W zależności od tego, czego dokładnie szukasz, inotify-tools jest prawdopodobnie kolejnym narzędziem handlu tutaj.
Na przykład
inotifywait -mr dir/
monitoruje zmiany w danym katalogu i natychmiast przekazuje informacje zwrotne o dowolnej aplikacji próbującej otworzyć / odczyt / zapis / zamknięcie pliku. Inotify nie przekazuje jednak opinii na temat tego, która aplikacja lub proces uzyskuje dostęp do pliku - robi to strace.Należy pamiętać, że monitorowanie na poziomie systemu ma zwykle ograniczone zastosowanie w oprogramowaniu Java uruchomionym w niektórych środowiskach kontenerów aplikacji, ponieważ widzisz tylko kontener (np. Tomcat), ale nie rzeczywistą aplikację (np. War) wchodzącą w interakcje z systemem.
źródło
Możesz uzyskać informacje o tym, które pliki są przetwarzane przez lsof :
I odwrotnie, możesz uzyskać pid procesu, który zapisuje / odczytuje do jakiegoś pliku:
źródło
Możesz użyć
strace
do monitorowania wszystkich wywołań systemowych procesu, które obejmują dostęp do wszystkich plików.Podczas uruchamiania programu:
możesz również dołączyć strace do uruchomionego procesu za pomocą jego PID:
źródło
watch find dir/ -mmin 1
nie działało dla mnie, wystarczyło skopiować i różnicować:Jest dość zasobochłonny, ale pokazuje wszystkie zmiany między migawką a
diff
czasem.źródło