假设我想监控 1,000 台主机。对于每台主机,我想要监控 100 个或更多变量:ping、磁盘 IO/延迟、RAM 空闲/交换/等,等等。每 5-10 分钟 100,000 个数据点,存储 5 年。
什么系统规模这么大?
如果我的主机数量是原来的 10 倍怎么办?那你会选什么?
Chr*_*ell 15
在我们真正为您提供建议之前,您还需要回答几个问题。首先,您想将原始数据存储 5 年吗?还是汇总的数据足够好?这比您想象的更重要,仅此功能就可以决定您的选择。
当您谈论 5 年的时间跨度时,您几乎总是在谈论将汇总的趋势信息,随着时间的推移,您将失去准确性。如果您不汇总数据,您将处理大量的数据,并且很少有系统(软件和硬件)能够处理它。
幸运的是,这就是为什么RRDtool并发明了循环数据库(RRD)。如果你不认识它,没关系。您可能不知道它的名字,但是如果您正在查看开源工具,您会看到几乎所有构建在它之上的东西。几乎所有随时间推移趋势数据并为您提供漂亮图表的开源程序都可能在幕后使用 RRDtool。RRDtool 创建固定大小的数据库,自动汇总数据并将固定精度存储到指定的限制。例如,您可能让它以 5 分钟的精度存储 30 天的数据,以 30 分钟的精度存储 90 天的数据,以 1 小时的精度存储 180 天的数据,以 1 天的精度存储 365 天的数据,3 年的1 周精度的数据和 1 个月精度的 10 年数据。这一切都是可配置的,每当您添加新数据点时,
现在,一旦您确定您的数据保留要求是什么,您就需要弄清楚您计划如何监控系统。如果有各种各样的设备,特别是如果有很多网络设备,则 SNMP 是标准。此外,还有很多设备无法通过 SNMP 以外的任何其他设备进行监控,因此至少一定程度的 SNMP 支持很重要(例如 UPS、发电机、打印机等)。如果您有很多服务器,您可能希望使用基于代理的系统,在该系统中,您可以在要监控的每台设备上安装一个监控代理。这通常会为您提供更详细的信息,但会显着增加所需的管理开销。
接下来,您需要知道您预计的增长超出“什么处理 X 和处理 10 倍 X”。即使在列出的 1k 主机中,1k 也是与 10k 主机截然不同的野兽。许多系统将处理 1k,但是当您接近 10k 时,很多时候您将需要一个分布式系统来分担负载。此外,您提到了要监控的每个系统的 100 个变量。. . 你确定吗?支持监控这么多变量的监控系统并不多。这是从每个设备中提取的大量信息。
最后,当您开始接近大规模时,您需要考虑的不仅仅是监控系统。从具有 5 分钟分辨率的 1k(或 10k)设备中提取 100 个可变数据位将需要一些相当大的带宽。为此做好准备,否则您可能会发现您的监控系统正在对您的网络产生负面影响。如果您的系统分布在多个站点并且要跨越 WAN 链接,这一点尤其重要。
有一些开源系统声称在这种大型网络监控范围内具有竞争力,但并不多。 Nagios已经存在很长时间了,并且以监控 1k+ 系统而闻名。 Zenoss提供开源核心产品和商业支持的产品,并试图挑战一些“大佬”。 Zabbix是完全开源的,公司支持它提供支持。
但是,对于拥有数以千计需要监控的设备/系统的大公司,最大的参与者是 CA 的 Spectrum/eHealth/Unicenter、IBM 的 Tivoli 套件和 HP 的 OpenView。这些中的每一个都可以处理巨大的规模,但也带有巨大的价格标签。
注意:我的日常工作是网络监控工具的实施和维护,我们监控超过 5k 个网络设备和 8k 个服务器。找到在这些规模上运行良好的工具是很困难的。
| 归档时间: |
|
| 查看次数: |
2175 次 |
| 最近记录: |