监视工具可以采取高利率和大量?

我们使用Cacti和RRDTool来监视和分析大约1,000个基于Linux的节点上分布的大约100,000个计数器。 但是,我们目前的设置通常只给我们5分钟的图表(有些数据是基于分钟的)。 我们经常会在“接近实时”看到反馈意见的地方做出改变。 我需要一个星期5或10秒的数据,一年的1分钟的数据和5年的10分钟的数据。 我有SSD磁盘和一个双六核服务器备用。

我试着build立一个Graphite /碳/私语服务器,并且有大约15个节点pipe道连接到它,但是在升级到较老的桶时,它只有“平均”的保留function。 这几乎是无用的 – 我想要最小值,最大值,平均值,标准偏差,也许可能是“总数”和“样本数量”,或者可能是“第95百分位数”。 开发人员声称有一个新的后端“testing版”,允许您编写自己的function,但是这似乎仍然只保留1:1(当保存较旧的数据时,您确实希望将统计信息计算为来自单一的input,另外,“testing版”对于这个安装似乎有点冒险,如果我错了这个假设,我会很高兴能够显示我的错误!

我听说Zabbix推荐,但它把数据放入MySQL或其他SQL数据库。 5秒间隔100,000个计数器意味着20,000 tps,而我有一个SSD,我没有一个带电池备份caching的8路RAID-6,我想我需要这样做:-)再一次,如果这实际上不是问题,我会很高兴能看到我的方式的错误。 另外,Zabbix可以做单一的数据stream – >统计推广吗?

最后,Munin声称现在有一个新的2.0版本正在“testing版”中出现,它拥有定制的保留计划。 然而,这又是“testing”部分 – 是否有人将其用于真实和规模? 它是如何执行的,如果是这样的话?

我几乎想要使用graphics前端(如Graphite),并使用mmap()和一些统计信息之上的简单图层来滚动自己的保留后端。 这不会特别困难,并且可能performance得非常好,让内核找出在刷新到磁盘的频率和进程操作之间的平衡。

任何其他的build议,我应该看看? 注意:它必须certificate自己能够维持上面所build议的数据加载types; 如果你能指出你所引用的具体实现,那么更好!

你看了Ganglia吗?

我强烈怀疑穆宁会扩大到你的规模。 但Ganglia的devise是从大型服务器集群开始的。

Zabbix被称为在1000+主机环境中performance良好,你的5秒刷新是有点闻所未闻(也许你需要大部分的周期性和30秒的东西,其中一些对你来说可以)。

Zabbix代理服务器(认为它们是迷你Zabbix服务器)在大型安装中被提倡用来减lessZabbix服务器的负载。 http://www.packtpub.com/article/proxies-monitor-remote-locations-zabbix-1.8

从阿列克谢本人:

“它将收集性能和可用性数据,还可以在ZABBIX Server上执行自动发现:

  1. 这对通信问题是免疫的。 数据是本地存储的。
  2. 它只需要单向(代理服务器)TCP连接。
  3. 维护几乎为零。 例如,如果本地代理数据库不存在,代理将自动创build一个。 所以,基本上需要一个二进制和小的configuration文件来设置代理。
  4. configuration通过正常的WEB GUI存储在服务器端并完全pipe理。 “

查看Graphite, http://graphite.wikidot.com/ 。 他们这样说高容量:

Graphite是由Orbitz.com公司内部开发的,用于将各种操作关键数据(包括应用程序度量,数据库度量,销售等)可视化。在编写本文时,Orbitz的生产系统可以处理大约160,000个不同的度量每分钟运行在一台速度非常快的SAN上的两台niagra-2 Sun服务器上。

我和其他人一起评论说,为什么你需要在这么短的频率上监测这么多的项目。 这样做的最大问题是您的监控系统将开始导致关于负载的误报,并且您正在减less可用于其他处理的CPU时间。 将监控时间间隔从5秒移动到15秒,将导致监控开销下降80%,并且仍然为您提供至less是常规最低可见度(通常为30秒)的两倍。 另外,当您仔细观察时,可能会确定某些项目不需要每15或30秒进行一次监控。 一个例子是磁盘,你可能能够每隔30或60秒处理一次。 例如,如果你只写1.7MB /秒,你只能在一分钟内推送100MB。 如果您的监控系统设置为1GB的警报,则您现在有大约100分钟的时间,然后您不在磁盘中(使用此慢速磁盘示例)。 CPU,为什么你需要知道它在30秒内的分辨率? 它在100%的云中加载,很好,它正在做一些像群集节点应该做的工作。 但是,如果在工作队列为0时处于100%负载状态,则说明存在问题。

此外,如此紧张的频率监测也会增加您因数据集中的伪影而导致误报的可能性。 举例来说,如果您的监控系统以5秒为间隔监控所有内容,导致基本负载为20%和100KB / s,您是否真的能准确了解您的主机正在做什么? 至于误报,可以考虑在500KB / s的networking负载上触发,你的监控系统本身就是你的20%。

你也没有在上面提出任何build议,这让我觉得Zabbix无法处理你想做的事情。 给它一个镜头,我们将在Zabbix社区等待,以便在需要时为您提供帮助。