Ganglia gmetad 运行一段时间后出现段错误(在 AWS EC2 上)

Ganglia gmetad 运行一段时间后出现段错误(在 AWS EC2 上)

我们正在使用 Ganglia 监控我们在 Amazon AWS 上的云基础设施。一切都运行正常(指标流动等),只是偶尔 gmetad 进程会突然出现段错误。gmetad 进程在 m3.medium EC2 上运行,监控大约 50 台服务器。这些服务器被分成几组,每组都有一个堡垒 EC2,用于收集指标。gmetad 配置为从这些堡垒(大约 10 个)中获取指标。

一些有用的事实:

  • 我们在所有 EC2 上运行 Debian Wheezy
  • 崩溃在正常运行时不会生成任何日志,除了一个段错误日志,例如“gmetad[11291]: segfault at 71 ip 000000000040547c sp 00007ff2d6572260 error 4 in gmetad[400000+e000]”。如果我们手动运行 gmetad 并进行调试日志记录,崩溃似乎与 gmetad 执行清理有关。
  • 当我们意识到清理过程可能是罪魁祸首时,我们对此进行了更多研究。我们意识到我们的磁盘 IO 太高了,并添加了 rrdcached 以降低它。磁盘 IO 现在低了很多,崩溃发生的频率也降低了,但平均每天还是一次左右。
  • 我们有两个系统(开发系统和生产系统)。两者都出现了这种崩溃,但开发系统(它监控的服务器组小得多)崩溃的频率要低得多。
  • 生产系统正在运行 ganglia 3.3.8-1+nmu1/rrdtool 1.4.7-2。我们已将开发系统中的 ganglia 升级到 ganglia 3.6.0-2~bpo70+1/rrdtool 1.4.7-2。这似乎对解决崩溃问题没有帮助。
  • 我们在两个系统上都运行了 monit,配置为在 gmetad 死机时重新启动。它会立即重新启动,没有任何问题。

有人遇到过这种崩溃吗,尤其是在亚马逊硬件上?我们正在竭尽全力寻找解决方案!

相关内容