Answers:
听起来您可能有两个问题
我过去曾使用Munin,但目前正在使用collectd。Collected的作者为解决这些问题投入了大量的思想和精力。他们拥有一个精心设计的系统,可将数据写入RRD文件,以确保您不会丢失数据并生成最新的图形。还支持RRDCacheD。守护程序和官方插件都是用C编写的,因此它们只占用很少的内存或CPU时间。在我的客户端系统上,它每分钟仅使用不到2MB的RAM和大约四分之一秒的CPU时间。在我的监视服务器上,它每分钟使用20MB的RAM和三分之二秒的CPU时间。请记住,我的所有指标每隔十秒就会收集并发送到我的监视服务器,而不是像munin那样每隔几分钟就发送一次。
尽管它们是很棒的工具,但Munin和其他RRDTool前端(例如Cacti或Ganglia)已经知道了I / O问题,并且在监视节点的成千上万时很难扩展。
虽然有一些技术可以解决此I / O瓶颈。这些技术之一是将写入分散在大量磁盘上,以减少每个磁盘中的I / O。另一方面,许多系统管理员使用tmpfs文件系统来解决此问题。RRDCached也是处理此问题的最新且不错的选择,我建议您看一下这张幻灯片。
我对Munin不太熟悉,但是Cacti有一个Boost插件。该插件将数据缓存在内存中,并执行对磁盘的海量和按需更新,而不是单个写入,从而减少了I / O。我很确定Munin也有这样的东西。
如果您负担得起,SSD磁盘也是不错的选择。
最后但并非最不重要的一点是,您还可以查看Reconnoiter。Recconoiter是一种全新的故障检测和图形/趋势工具。与大多数趋势工具不同,Reconnoiter不是基于RRDTool的,而是试图解决此特定问题。我没有在生产中使用Reconnoiter,但是我进行了一些测试,尽管仍然有些“绿色”,但看起来确实很有希望,尤其是在可伸缩性方面。
希望这可以帮助!
Marco Ramos提供了一些可靠的建议。但是,我想补充说明:munin的最大问题是固定5分钟的收集时间表。如果在5分钟内所有节点均未返回结果,则您开始出现辍学现象。这是穆宁最大的问题。
诸如Ganglia之类的其他基于rrdtool的工具并未锁定在同一5分钟的更新窗口中,因为它们不会以与munin相同的顺序方式轮询所有数据源。
我建议您看一下Ganglia,因为它通常可以很好地扩展(尽管对于大型的ganglia安装,您确实需要关闭多播数据收集)。我怀疑在开始担心rrdtool是瓶颈之前,您可以在神经节上走很长一段路。到那时,您可以执行Marco建议的各种操作,例如使用SSD驱动器。
我要替换带有Ganglia的Munin,Munin杀死了我的服务器,所以我将尝试一下Ganglia,看看它如何扩展。