我需要用更具可扩展性的东西替换 munin

Tom*_*Tom 8 monitoring munin metrics resource-management

多年来,我在多台服务器上使用 munin 并取得了巨大成功,但是有 100 多个 munin 节点,并且当客户端上有负载时,处理会超时。

我对 cron 作业和客户端进程的数量进行了一些扩展更改,并减少了运行的插件数量等。但我决定寻找具有更可扩展架构的替代方案。

欢迎任何建议或经验。我基本上对用于容量规划和诊断资源使用情况的服务器指标感兴趣。(我们有 nagios 用于提醒)

sci*_*rus 8

听起来你可能有两个问题

  1. 在您的监控服务器上,记录大量服务器的指标需要比您的存储所能提供的更多的随机 I/O。即使您的所有指标都被写入磁盘,服务器可能会因过载而无法实际生成图表。
  2. 在您被监控的客户端上,收集指标的插件过于占用 CPU 和内存,并且在客户端负载过重时无法及时完成数据收集。

我过去使用过 Munin,但我目前正在使用collectd。collectd 的作者为解决这些问题付出了很多心思和努力。他们有一个精心设计的系统,用于将数据写入 RRD 文件,确保您不会丢失数据并可以生成最新的图表。还支持RRDCacheD. 守护进程和官方插件是用 C 编写的,因此它们使用很少的内存或 CPU 时间。在我的客户端系统上,它每分钟使用不到 2MB 的 RAM 和大约四分之一秒的 CPU 时间。在我的监控服务器上,它每分钟使用 20MB 的 RAM 和三分之二秒的 CPU 时间。请记住,我所有的指标都是每十秒收集一次并发送到我的监控服务器,而不是像 munin 那样每隔几分钟就收集一次。

  • munin 现在初步支持 rrdcached。与默认安装相比,它需要一些额外的努力。这不是对 munin/collectd 投赞成票或反对票,我只是添加这个来帮助任何在 munin 设置上苦苦挣扎并且在更改系统方面没有余地的人。 (2认同)