私は多くのLinuxファイルサーバーを管理しています。これらはすべて、0〜10年前に作成されたアプリケーションを実行します。時々起こることですが、マシンはディスクスペースに近づいたり、ディスクスペースを使い果たしたりします。理由には、ログファイルをローテーションしないアプリケーション、テープに書き込まれなかった毎月150GBの新しいファイルを生成する500GBのディスクを備えたマシン、データベースのサイズが徐々に大きくなる、人々が愚かなことをするなどがあります...一般的に少し混乱します。
とにかく、マシンが数時間で予期せず50%から100%にいっぱいになったとき、私は何が壊れたのか(たくさんの「du」)を見つけてファイルを削除するか誰かに連絡します。また、サボテングラフを見て、マシンの通常のディスク使用量(/ homeなど)を把握することもできます。
サボテン/ RRDグラフよりも歴史的な使用法に関するより詳細な情報を提供するツールを知っている人はいますか? 「/ home/abc/xyzは最終日に50GB増加しました」のように。
数学的なカーブフィッティングがここでの答えかもしれないと思いますが、私はまだそれを探求していません。 TwitterのJohnAdamsがキャパシティプランニングのためにこれを行うことについて話していたところ、それは有益なアイデアのように思えました。
カーブフィッティングについての私の理解は、既存のデータを取得し、使用法の外挿を提供することです。これは、「現在の使用状況に基づいて、ディスクが100%いっぱいになるのはいつですか?」などの質問に答えるために使用できます。
これが カーブフィッティングに関するウィキペディアのページ です。パッケージ fityk は開始するのに適した場所のようです。
これを行うにはプログラミングが必要なようですが、残念ながらCactiのような監視パッケージ用の単純なドロップインプラグインはありません。
Muninはディスク使用量を監視し、アラームを送信します。グラフは、Muninがストレージにrrdを使用するため、cacti/RRDで得られるものと似ています。私は多くのことでnagiosとmtrgをmuninに置き換えました。 muninでカバーされていないnagiosの用途があります。
私はかつて同じようなことをしなければなりませんでした。影響を受けるファイルシステムで毎晩duを実行し、fileという名前の日付で保存するcronジョブで問題を解決しました。サーバーがいっぱいになると、現在のduをアーカイブされたduと比較して、何が起こったのかを簡単に把握できます。これにより、将来のディスク見積もりのニーズに対応するために、時間の経過に伴う成長に関する優れた情報も得られます。
モニタリングについて考えましたか?
おそらく、サーバーを監視するためにNagiosよりも遅れたものを使用する方が良いでしょう。たとえば、ディスクが90%を超えると、次のようなメールが届きます。
このソリューションでは、CACTIを使用して履歴を確認および取得できますが、たとえば70%のディスクスペースに警告があり90%に重大な警告がある場合など、1つ以上の重大な状態がある場合はNagiosが警告します。
また、Nagiosを使用すると、ディスクだけでなく、1つのアプリケーションですべてのLinuxサーバーを監視できるのはほんの一例です。