時間の経過とともにディレクトリスペースを追跡するLinuxツール


8

ファイルシステム全体だけでなく、時間の経過とともにディスク領域を追跡する一般的なLinuxツールはありますか?たとえば、どのディレクトリツリーが過去に膨らんで縮小したかを簡単に確認できますか?問題は、私すでにのようなツールを使用して、ログなど、キャッシュとTMPファイルのルーチンハウスクリーニングにもかかわらず、0の空きスペースを打つ保つように見えるのサーバーで発生しdfduそしてlsof多くの場合、およびスケジュールatがロー特定のサイズ/種類歳以上のファイルを見つけるために、ジョブウォーターマークが当たるなど

できればDebian / Ubuntuパッケージ。


私はあなたdu -sがcronで実行するよりもユーザーフレンドリーなものを望んでいると思いますよね?
peterph 2013

1
彼らは、「sar」コマンドを実行した場合のCPUまたはI / O使用率のような、ディスク容量使用率の履歴計算が必要だと思います。
Bratchley 2013

(ext3)ジャーナルから関連データを監視および抽出するツールを使用して、これを低いオーバーヘッドで実行できますか?
Michael Martinez

回答:


3

いくつかのことで、このようなツールの作成は問題になります。

  1. カーネルはディレクトリやファイル固有のファイルサイズの履歴を保持しないため(メモリ使用量、I / Oアクティビティ、CPU時間など)、書き込まれるものはすべてユーザー空間にある必要があります。
  2. inotifyを使用して何かが書き込まれた場合でも、ビジーなサーバーでは、ファイルが変更されるたびに "du -s"の出力を記録するユーザースペースデーモンのオーバーヘッドが非常に大きくなります。使用率の低いサーバーでは、おそらくこの問題はありません。そのため、ツールがそのオーバーヘッドを買う余裕のない人々にのみ役立つ状況に出くわします。
  3. ZabbixやNagiosなどのネットワークモニタリングデーモンには、(ファイルシステム全体の)基本的なディスク使用率のモニタリングが含まれており、この点に関してほとんどの管理者のニーズを満たす履歴が含まれています。それ以上のニーズは通常、問題のファイルシステムにアクセスし、事後にスペースを占有しているものを確認する(ネットワークモニタリングを使用して、可能性のある問題の予防的な警告を行う)ための中断/修正です。
  4. 本当にこれを知っておく必要があり、プロアクティブな警告が再び発生したときに通知するのを待つ(チェックアウトできるようにする)ことができない場合は、最終的には、関係するディレクトリを監視するスクリプトを作成できます。約。(基本的に「find / path / to / dir -type d -exec du -sh {} \;」の出力を記録して、簡単に確認できるようにします)。

そのため、これを実行するためのユーザー空間ツールを作成する必要はありません。正しく実行するのは困難であり、既存のソリューションでは理想にかなり近づくからです。

短い回答:私はそのようなツールを知りませんが、存在しないことは理にかなっています。


たとえば、ユーザー空間スクリプトを一緒にハッキングすることは私の手の届くところです。duすべて/一部のディレクトリのcronから定期的なスナップショットを記録し、後で分析できるようにSQL / CSVに保存して、いつストレージが消費されているかを絞り込み、わかりやすいレポートを作成してこれを特定します。dir階層を拡大表示できる機能を期待しています。しかし、これには時間がかかり、不完全でも(ハードリンクなど)、同様のものが存在することを期待しています。
Marcos

1
これは、「du -s」よりもはるかに少ないオーバーヘッドで、ファイルシステムジャーナルを監視するいくつかのツールで実行できるかどうか疑問に思っていますか?
Michael Martinez
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.