Файловый монитор (как Filemon Sysinternal) для Linux?


23

Есть ли файловый монитор, похожий на FileMon от Sysinternals, для Linux?

Я знаю об lsof, но это показывает только те файлы, которые были открыты в тот момент, когда я его выполнил.



1
File :: Monitor, FAM, Gamin, inotify и т. Д. Все связаны, но не похожи на то, что просит Саймон. Filemon позволяет вам видеть все файловые операции во всей системе, тогда как File :: Monitor и т. Д. Больше для наблюдения за файловыми событиями в одном файле или каталоге AFAIUI.
Микель

Ответы:


5

Инструмент, который работает в Linux аналогично программному обеспечению Sysinternals, можно найти здесь: http://temasoft.com/products/filemonitor . Это агентный монитор файлов в реальном времени для Windows и Linux, который может предоставить вам подробную информацию о различных файловых операциях, включая имя пользователя и процесс.

Примечание: я работаю в компании, которая разрабатывает этот продукт.

Скриншот продукта


4

Подсистема аудита может сказать вам все виды вещей.


1
Включая все открытые файлы и ответственные процессы? Есть ли какой-то пользовательский интерфейс для аудита?
Саймон Эугстер

Аудит работает на уровне ядра, поэтому он ловит все. Там, вероятно, нет пользовательского интерфейса для этого. Вам нужно будет использовать инструменты командной строки или придумать собственный пользовательский интерфейс.
Игнасио Васкес-Абрамс

Вы можете делать одноразовые запросы, используя ausearchи aureport, но если вам нужна вся информация в режиме реального времени, то вам нужно написать собственную программу. На домашней странице аудита < people.redhat.com/sgrubb/audit > есть больше информации , но сделать это нелегко.
Микель

2
Почему Linux эквивалентен всему инструменту командной строки, который вы не можете использовать, пока не прочитаете и не перечитаете несколько страниц?
Питер

Потому что обычно говорят, что команда чрезвычайно мощная и гибкая, и позволит вам «выстрелить себе в ногу».
LawrenceC

3

Вот еще одно приложение, которое делает что-то связанное: http://archive09.linux.com/feature/124903 . Это называется kfsmd.

Вот пример этого в действии:

$ mkdir /tmp/k
$ cd /tmp/k
$ date > df1.txt
$ date > df2.txt
$ kernel-filesystem-monitor-daemon-cat -v  watch .
setting up watch for:.
setting up watches
calling run
event on wd:1 . filename:df5.txt
CLOSE  URL:./df5.txt
event on wd:1 . filename:df5.txt
DELETE_FILE  URL:./df5.txt

2

В командной строке strace и ltrace могут быть тем, что вы хотите.


Можно ли как-нибудь сделать strace / ltrace для мониторинга всех доступных процессов? Пока мне удалось получить информацию только об одном процессе (-p PID).
Саймон Эугстер

Нет, вы можете отследить только один процесс (и его
потомки

2
Ваш ответ без подробностей и трудно понять. Пожалуйста, рассмотрите возможность пересмотра своего ответа, чтобы предоставить более подробную информацию. Например, что именно они делают и как вы их правильно используете?
Джеймс Мерц

2

SystemTap предоставляет инфраструктуру свободных программ (GPL), чтобы упростить сбор информации о работающей системе Linux. Это помогает диагностировать производительность или функциональную проблему. SystemTap устраняет необходимость для разработчика проходить через утомительный и разрушительный инструмент, перекомпилировать, устанавливать и перезагружать последовательность действий, которая в противном случае может потребоваться для сбора данных.

SystemTap предоставляет простой интерфейс командной строки и язык сценариев для написания инструментария для работающего ядра. Мы публикуем образцы, а также расширяем внутреннюю библиотеку сценариев "tapset", чтобы помочь повторному использованию и абстракции.

Среди других инструментов трассировки / зондирования, SystemTap является инструментом выбора для сложных задач, которые могут потребовать оперативного анализа, программируемого оперативного ответа и символического доступа ко всей системе. SystemTap также может обрабатывать простые задачи трассировки.

http://sourceware.org/systemtap/


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.