跟踪磁盘使用情况的工具

跟踪磁盘使用情况的工具

我管理着许多 Linux 文件服务器。它们都运行着 0-10 年前编写的应用程序。有时,一台机器会接近或耗尽磁盘空间。原因包括应用程序不轮换日志文件、一台拥有 500GB 磁盘的机器每月产生 150GB 的新文件,这些文件未写入磁带、数据库大小逐渐增加、人们做了一些愚蠢的事情……总的来说有点混乱。

无论如何,当一台机器在几个小时内意外地从 50% 变为 100% 时,我会找出问题所在(很多“du”)并删除文件或联系某人。我还可以查看 cacti 图表来了解机器的正常磁盘使用情况(例如 /home)。

有谁知道有什么工具可以提供比 cacti/RRD 图表更详细的历史使用信息吗?比如“/home/abc/xyz 在过去一天增加了 50GB”。

答案1

我认为数学曲线拟合可能是一个答案,但我还没有探索过。我参加了一次演讲,Twitter 的 John Adams 谈到了如何为他们的容量规划做这件事,这似乎是一个有用的想法。

我对曲线拟合的理解是,它利用现有数据并为您提供使用情况推断。这可以用来回答诸如“根据当前使用情况,我们的磁盘何时会达到 100% 满?”之类的问题。

这是一个维基百科关于曲线拟合的页面. 包装菲蒂克看起来是一个不错的起点。

似乎需要一些编程才能做到这一点,不幸的是我没有看到像 Cacti 这样的监控包的任何简单的插件。

答案2

Munin 将监控磁盘使用情况并发送警报。由于 Munin 使用 rrd 进行存储,因此图表将类似于您使用 cacti/RRD 获得的图表。我已经用 munin 替换了 nagios 和 mtrg 的许多功能。nagios 的某些用途并未被 munin 覆盖。

答案3

我曾经做过类似的事情。我使用 cron 作业解决了这个问题,该作业每晚在受影响的文件系统上运行 du 并保存到最新命名文件。当服务器填满时,很容易将当前 du 与其中一个存档的 du 进行比较并找出发生了什么。这还提供了有关未来磁盘估计需求随时间增长的重要信息。

答案4

您考虑过监控吗?

也许你最好使用一些滞后的 Nagios 来监控你的服务器。当你的磁盘空间超过 90% 时,你会收到类似这样的电子邮件。

在这个解决方案中,您可以使用 CACTI 查看并获取历史记录,但如果您有一个或多个关键状态,Nagios 会向您发出警告,例如当您的磁盘空间为 70% 时会发出警告,而 90% 则会出现关键警告。

以 Nagios 为例,您可以使用一个应用程序监控所有 Linux 服务器,而不仅仅是磁盘。

相关内容