Linux инструмент для отслеживания пространства каталогов с течением времени

8

Существуют ли какие-либо распространенные инструменты Linux, которые отслеживают дисковое пространство с течением времени, не только файловую систему в целом, но, например, чтобы я мог легко увидеть, какие деревья каталогов исторически увеличивались и сокращались? Проблема происходит на серверах , которые , кажется, держать удар 0 свободного пространства , несмотря на рутинный доме-очистку кэш и временные файлы, журналы и т.д. Я уже используют такие инструменты , как df, duи lsofчасто и планировать atработу , чтобы найти в возрасте файлов в течение определенного размера / типа при низком наносятся водяные знаки и т. д.

Предпочтительно пакет Debian / Ubuntu.

Marcos
источник
Я так понимаю, вы хотите что-то более удобное для пользователя, чем du -sзапуск в cron, верно?
Петер
1
Я думаю, что они хотят исторический расчет использования дискового пространства, например, то, что вы получите за использование процессора или ввода-вывода, выполнив команду «sar».
Братчли
Можно ли это сделать с минимальными издержками, используя инструмент, который отслеживает и извлекает соответствующие данные из (ext3) журнала?
Майкл Мартинес

Ответы:

3

Несколько вещей сделают создание такого инструмента проблематичным:

  1. Ядро не хранит историю размеров файлов каталогов или файлов (как это происходит с использованием памяти, операциями ввода-вывода или процессорного времени), поэтому все написанное должно быть в пользовательском пространстве.
  2. Даже если что-то было написано с использованием inotify или чего-то еще, на занятых серверах издержки демона пользовательского пространства, записывающего вывод «du -s» после каждого изменения файла, были бы огромными. На менее загруженных серверах у вас, вероятно, не будет этой проблемы. Таким образом, вы сталкиваетесь с ситуацией, когда инструмент полезен только тем людям, которые не могут себе его позволить.
  3. Демоны сетевого мониторинга, такие как Zabbix или Nagios, содержат некоторый примитивный мониторинг использования диска (целых файловых систем) с историями, которые удовлетворяют потребности большинства администраторов в этом отношении. Помимо этого, как правило, необходимо устранить / исправить ситуацию, когда вы заходите в файловую систему, о которой идет речь, и проверяете, что занимает место после факта (используя мониторинг сети для проактивного предупреждения о возможных проблемах).
  4. Если вам действительно нужно знать об этом и ждать, когда ваши упреждающие предупреждения уведомят вас, когда это произойдет снова (чтобы вы могли проверить это), не вариант, в конечном итоге вы можете написать сценарий для мониторинга соответствующих каталогов. около. (в основном записывает вывод «find / path / to / dir -type d -exec du -sh {} \;» некоторым способом, который вам будет легко просмотреть).

Таким образом, нет реальной потребности в создании инструмента пользовательского пространства, чтобы сделать это, поскольку это было бы трудно сделать правильно, и существующие решения приближают вас к идеалу.

Краткий ответ: я не знаю о таком инструменте, но это имеет смысл, не будет.

Bratchley
источник
Я могу взломать сценарии пользовательского пространства, например. Записывайте периодические duснимки из cron всех / некоторых каталогов, сохраняйте их в SQL / CSV для последующего анализа, чтобы сузить область использования хранилища, и создавайте удобные отчеты, чтобы точно это определить. Можно рассчитывать на возможность увеличения иерархии каталогов. Но это отнимает много времени, и я надеюсь, что нечто подобное существует, даже если оно несовершенное (жесткие ссылки и т. Д.).
Маркос
1
Мне интересно, можно ли сделать это с гораздо меньшими издержками, чем "du -s", с помощью какого-либо инструмента, который просматривает журнал файловой системы?
Майкл Мартинес